> ## Documentation Index
> Fetch the complete documentation index at: https://ramps-docs-sync-20260321.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# List platform internal accounts

> Retrieve a list of all internal accounts that belong to the platform, as opposed to an individual customer.

These accounts are created automatically when the platform is configured for each supported currency. They can be used for things like distributing bitcoin rewards to customers, or for other platform-wide purposes.




## OpenAPI

````yaml https://app.stainless.com/api/spec/documented/grid/openapi.documented.yml get /platform/internal-accounts
openapi: 3.1.0
info:
  title: Grid API
  description: >
    API for managing global payments on the open Money Grid. Built by
    Lightspark. See the full documentation at https://grid.lightspark.com/.
  version: '2025-10-13'
  contact:
    name: Lightspark Support
    email: support@lightspark.com
  license:
    name: Proprietary
    url: https://lightspark.com/terms
servers:
  - url: https://api.lightspark.com/grid/2025-10-13
    description: Production server
security:
  - BasicAuth: []
tags:
  - name: Platform Configuration
    description: >-
      Platform configuration endpoints for managing global settings. You can
      also configure these settings in the Grid dashboard.
  - name: Customers
    description: >-
      Customer management endpoints for creating and updating customer
      information
  - name: KYC/KYB Verifications
    description: >-
      Endpoints for Know Your Customer (KYC) and Know Your Business (KYB)
      verification, including managing beneficial owners and triggering
      verification for customers.
  - name: Documents
    description: >-
      Endpoints for uploading and managing verification documents for customers
      and beneficial owners. Supports KYC and KYB document requirements.
  - name: Internal Accounts
    description: >-
      Internal account management endpoints for creating and managing internal
      accounts
  - name: External Accounts
    description: >-
      External account management endpoints for creating and managing external
      bank accounts
  - name: Same-Currency Transfers
    description: >-
      Endpoints for transferring funds between internal and external accounts
      with the same currency
  - name: Cross-Currency Transfers
    description: Endpoints for creating and confirming quotes for cross-currency transfers
  - name: Transactions
    description: Endpoints for retrieving transaction information
  - name: Webhooks
    description: Webhook endpoints and configuration for receiving notifications
  - name: Invitations
    description: Endpoints for creating, claiming and managing UMA invitations
  - name: Sandbox
    description: Endpoints to trigger test cases in sandbox
  - name: API Tokens
    description: Endpoints to programmatically manage API tokens
  - name: Exchange Rates
    description: >-
      Endpoints for retrieving cached foreign exchange rates. Rates are cached
      for approximately 5 minutes and include platform-specific fees.
  - name: Discoveries
    description: >-
      Endpoints for discovering available payment rails, banks, and providers
      for a given country and currency corridor.
paths:
  /platform/internal-accounts:
    get:
      tags:
        - Internal Accounts
      summary: List platform internal accounts
      description: >
        Retrieve a list of all internal accounts that belong to the platform, as
        opposed to an individual customer.


        These accounts are created automatically when the platform is configured
        for each supported currency. They can be used for things like
        distributing bitcoin rewards to customers, or for other platform-wide
        purposes.
      operationId: listPlatformInternalAccounts
      parameters:
        - name: currency
          in: query
          description: Filter by currency code
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformInternalAccountListResponse'
        '400':
          description: Bad request - Invalid parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '500':
          description: Internal service error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
      security:
        - BasicAuth: []
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import LightsparkGrid from '@lightsparkdev/grid';

            const client = new LightsparkGrid({
              username: process.env['GRID_CLIENT_ID'], // This is the default and can be omitted
              password: process.env['GRID_CLIENT_SECRET'], // This is the default and can be omitted
            });

            const response = await client.platform.listInternalAccounts();

            console.log(response.data);
        - lang: Python
          source: |-
            import os
            from grid import LightsparkGrid

            client = LightsparkGrid(
                username=os.environ.get("GRID_CLIENT_ID"),  # This is the default and can be omitted
                password=os.environ.get("GRID_CLIENT_SECRET"),  # This is the default and can be omitted
            )
            response = client.platform.list_internal_accounts()
            print(response.data)
        - lang: Kotlin
          source: >-
            package com.lightspark.grid.example


            import com.lightspark.grid.client.LightsparkGridClient

            import com.lightspark.grid.client.okhttp.LightsparkGridOkHttpClient

            import
            com.lightspark.grid.models.platform.PlatformListInternalAccountsParams

            import
            com.lightspark.grid.models.platform.PlatformListInternalAccountsResponse


            fun main() {
                val client: LightsparkGridClient = LightsparkGridOkHttpClient.fromEnv()

                val response: PlatformListInternalAccountsResponse = client.platform().listInternalAccounts()
            }
components:
  schemas:
    PlatformInternalAccountListResponse:
      type: object
      required:
        - data
      properties:
        data:
          type: array
          description: List of internal accounts matching the filter criteria
          items:
            $ref: '#/components/schemas/InternalAccount'
    Error400:
      type: object
      required:
        - message
        - status
        - code
      properties:
        status:
          type: integer
          enum:
            - 400
          description: HTTP status code
        code:
          type: string
          description: >
            | Error Code | Description |

            |------------|-------------|

            | INVALID_INPUT | Invalid input provided |

            | MISSING_MANDATORY_USER_INFO | Required customer information is
            missing |

            | INVITATION_ALREADY_CLAIMED | Invitation has already been claimed |

            | INVITATIONS_NOT_CONFIGURED | Invitations are not configured |

            | INVALID_UMA_ADDRESS | UMA address format is invalid |

            | INVITATION_CANCELLED | Invitation has been cancelled |

            | QUOTE_REQUEST_FAILED | An issue occurred during the quote process;
            this is retryable |

            | INVALID_PAYREQ_RESPONSE | Counterparty Payreq response was invalid
            |

            | INVALID_RECEIVER | Receiver is invalid |

            | PARSE_PAYREQ_RESPONSE_ERROR | Error parsing receiver PayReq
            response |

            | CERT_CHAIN_INVALID | Counterparty certificate chain is invalid |

            | CERT_CHAIN_EXPIRED | Counterparty certificate chain has expired |

            | INVALID_PUBKEY_FORMAT | Counterparty Public key format is invalid
            |

            | MISSING_REQUIRED_UMA_PARAMETERS | Counterparty required UMA
            parameters are missing |

            | SENDER_NOT_ACCEPTED | Sender is not accepted |

            | AMOUNT_OUT_OF_RANGE | Amount is out of range |

            | INVALID_CURRENCY | Currency is invalid |

            | INVALID_TIMESTAMP | Timestamp is invalid |

            | INVALID_NONCE | Nonce is invalid |

            | INVALID_REQUEST_FORMAT | Request format is invalid |

            | INVALID_BANK_ACCOUNT | Bank account is invalid |

            | SELF_PAYMENT | Self payment not allowed |

            | LOOKUP_REQUEST_FAILED | Lookup request failed |

            | PARSE_LNURLP_RESPONSE_ERROR | Error parsing LNURLP response |

            | INVALID_AMOUNT | Amount is invalid |

            | WEBHOOK_ENDPOINT_NOT_SET | Webhook endpoint is not set |

            | WEBHOOK_DELIVERY_ERROR | Webhook delivery error |

            | LOW_QUALITY | Document quality too low to process |

            | DATA_MISMATCH | Document details don't match provided information
            |

            | EXPIRED | Document has expired |

            | SUSPECTED_FRAUD | Document suspected of being forged or edited |

            | UNSUITABLE_DOCUMENT | Document type is not accepted or not
            supported |

            | INCOMPLETE | Document is missing pages or sides |
          enum:
            - INVALID_INPUT
            - MISSING_MANDATORY_USER_INFO
            - INVITATION_ALREADY_CLAIMED
            - INVITATIONS_NOT_CONFIGURED
            - INVALID_UMA_ADDRESS
            - INVITATION_CANCELLED
            - QUOTE_REQUEST_FAILED
            - INVALID_PAYREQ_RESPONSE
            - INVALID_RECEIVER
            - PARSE_PAYREQ_RESPONSE_ERROR
            - CERT_CHAIN_INVALID
            - CERT_CHAIN_EXPIRED
            - INVALID_PUBKEY_FORMAT
            - MISSING_REQUIRED_UMA_PARAMETERS
            - SENDER_NOT_ACCEPTED
            - AMOUNT_OUT_OF_RANGE
            - INVALID_CURRENCY
            - INVALID_TIMESTAMP
            - INVALID_NONCE
            - INVALID_REQUEST_FORMAT
            - INVALID_BANK_ACCOUNT
            - SELF_PAYMENT
            - LOOKUP_REQUEST_FAILED
            - PARSE_LNURLP_RESPONSE_ERROR
            - INVALID_AMOUNT
            - WEBHOOK_ENDPOINT_NOT_SET
            - WEBHOOK_DELIVERY_ERROR
            - LOW_QUALITY
            - DATA_MISMATCH
            - EXPIRED
            - SUSPECTED_FRAUD
            - UNSUITABLE_DOCUMENT
            - INCOMPLETE
        message:
          type: string
          description: Error message
        details:
          type: object
          description: Additional error details
          additionalProperties: true
    Error401:
      type: object
      required:
        - message
        - status
        - code
      properties:
        status:
          type: integer
          enum:
            - 401
          description: HTTP status code
        code:
          type: string
          description: |
            | Error Code | Description |
            |------------|-------------|
            | UNAUTHORIZED | Issue with API credentials |
            | INVALID_SIGNATURE | Signature header is invalid |
          enum:
            - UNAUTHORIZED
            - INVALID_SIGNATURE
        message:
          type: string
          description: Error message
        details:
          type: object
          description: Additional error details
          additionalProperties: true
    Error500:
      type: object
      required:
        - message
        - status
        - code
      properties:
        status:
          type: integer
          enum:
            - 500
          description: HTTP status code
        code:
          type: string
          description: |
            | Error Code | Description |
            |------------|-------------|
            | GRID_SWITCH_ERROR | Grid switch error |
            | INTERNAL_ERROR | Internal server or UMA error |
          enum:
            - GRID_SWITCH_ERROR
            - INTERNAL_ERROR
        message:
          type: string
          description: Error message
        details:
          type: object
          description: Additional error details
          additionalProperties: true
    InternalAccount:
      type: object
      required:
        - id
        - balance
        - fundingPaymentInstructions
        - createdAt
        - updatedAt
      properties:
        id:
          type: string
          description: The ID of the internal account
          example: InternalAccount:12dcbd6-dced-4ec4-b756-3c3a9ea3d123
        customerId:
          type: string
          description: >-
            The ID of the customer associated with the internal account. If this
            field is empty, the internal account belongs to the platform.
          example: Customer:019542f5-b3e7-1d02-0000-000000000001
        balance:
          $ref: '#/components/schemas/CurrencyAmount'
        fundingPaymentInstructions:
          type: array
          description: Payment instructions for funding the account
          items:
            $ref: '#/components/schemas/PaymentInstructions'
        createdAt:
          type: string
          format: date-time
          description: Timestamp when the internal account was created
          example: '2025-10-03T12:30:00Z'
        updatedAt:
          type: string
          format: date-time
          description: Timestamp when the internal account was last updated
          example: '2025-10-03T12:30:00Z'
    CurrencyAmount:
      type: object
      required:
        - amount
        - currency
      properties:
        amount:
          type: integer
          format: int64
          description: >-
            Amount in the smallest unit of the currency (e.g., cents for
            USD/EUR, satoshis for BTC)
          example: 12550
        currency:
          $ref: '#/components/schemas/Currency'
    PaymentInstructions:
      type: object
      required:
        - accountOrWalletInfo
      properties:
        instructionsNotes:
          type: string
          description: Additional human-readable instructions for making the payment
          example: >-
            Please ensure the reference code is included in the payment
            memo/description field
        isPlatformAccount:
          type: boolean
          description: >-
            Indicates whether the account is a platform account or a customer
            account.
          example: true
        accountOrWalletInfo:
          oneOf:
            - $ref: '#/components/schemas/PaymentUsdAccountInfo'
            - $ref: '#/components/schemas/PaymentBrlAccountInfo'
            - $ref: '#/components/schemas/PaymentMxnAccountInfo'
            - $ref: '#/components/schemas/PaymentDkkAccountInfo'
            - $ref: '#/components/schemas/PaymentEurAccountInfo'
            - $ref: '#/components/schemas/PaymentInrAccountInfo'
            - $ref: '#/components/schemas/PaymentNgnAccountInfo'
            - $ref: '#/components/schemas/PaymentCadAccountInfo'
            - $ref: '#/components/schemas/PaymentGbpAccountInfo'
            - $ref: '#/components/schemas/PaymentHkdAccountInfo'
            - $ref: '#/components/schemas/PaymentIdrAccountInfo'
            - $ref: '#/components/schemas/PaymentMyrAccountInfo'
            - $ref: '#/components/schemas/PaymentPhpAccountInfo'
            - $ref: '#/components/schemas/PaymentSgdAccountInfo'
            - $ref: '#/components/schemas/PaymentThbAccountInfo'
            - $ref: '#/components/schemas/PaymentVndAccountInfo'
            - $ref: '#/components/schemas/PaymentAedAccountInfo'
            - $ref: '#/components/schemas/PaymentKesAccountInfo'
            - $ref: '#/components/schemas/PaymentMwkAccountInfo'
            - $ref: '#/components/schemas/PaymentRwfAccountInfo'
            - $ref: '#/components/schemas/PaymentTzsAccountInfo'
            - $ref: '#/components/schemas/PaymentUgxAccountInfo'
            - $ref: '#/components/schemas/PaymentXofAccountInfo'
            - $ref: '#/components/schemas/PaymentZarAccountInfo'
            - $ref: '#/components/schemas/PaymentZmwAccountInfo'
            - $ref: '#/components/schemas/PaymentBwpAccountInfo'
            - $ref: '#/components/schemas/PaymentXafAccountInfo'
            - $ref: '#/components/schemas/PaymentBdtAccountInfo'
            - $ref: '#/components/schemas/PaymentArsAccountInfo'
            - $ref: '#/components/schemas/PaymentCopAccountInfo'
            - $ref: '#/components/schemas/PaymentEgpAccountInfo'
            - $ref: '#/components/schemas/PaymentGhsAccountInfo'
            - $ref: '#/components/schemas/PaymentGtqAccountInfo'
            - $ref: '#/components/schemas/PaymentHtgAccountInfo'
            - $ref: '#/components/schemas/PaymentJmdAccountInfo'
            - $ref: '#/components/schemas/PaymentPkrAccountInfo'
            - $ref: '#/components/schemas/PaymentSparkWalletInfo'
            - $ref: '#/components/schemas/PaymentLightningInvoiceInfo'
            - $ref: '#/components/schemas/PaymentSolanaWalletInfo'
            - $ref: '#/components/schemas/PaymentTronWalletInfo'
            - $ref: '#/components/schemas/PaymentPolygonWalletInfo'
            - $ref: '#/components/schemas/PaymentBaseWalletInfo'
            - $ref: '#/components/schemas/PaymentEthereumWalletInfo'
          discriminator:
            propertyName: accountType
            mapping:
              USD_ACCOUNT:
                $ref: '#/components/schemas/PaymentUsdAccountInfo'
              BRL_ACCOUNT:
                $ref: '#/components/schemas/PaymentBrlAccountInfo'
              MXN_ACCOUNT:
                $ref: '#/components/schemas/PaymentMxnAccountInfo'
              DKK_ACCOUNT:
                $ref: '#/components/schemas/PaymentDkkAccountInfo'
              EUR_ACCOUNT:
                $ref: '#/components/schemas/PaymentEurAccountInfo'
              INR_ACCOUNT:
                $ref: '#/components/schemas/PaymentInrAccountInfo'
              NGN_ACCOUNT:
                $ref: '#/components/schemas/PaymentNgnAccountInfo'
              CAD_ACCOUNT:
                $ref: '#/components/schemas/PaymentCadAccountInfo'
              GBP_ACCOUNT:
                $ref: '#/components/schemas/PaymentGbpAccountInfo'
              HKD_ACCOUNT:
                $ref: '#/components/schemas/PaymentHkdAccountInfo'
              IDR_ACCOUNT:
                $ref: '#/components/schemas/PaymentIdrAccountInfo'
              MYR_ACCOUNT:
                $ref: '#/components/schemas/PaymentMyrAccountInfo'
              PHP_ACCOUNT:
                $ref: '#/components/schemas/PaymentPhpAccountInfo'
              SGD_ACCOUNT:
                $ref: '#/components/schemas/PaymentSgdAccountInfo'
              THB_ACCOUNT:
                $ref: '#/components/schemas/PaymentThbAccountInfo'
              VND_ACCOUNT:
                $ref: '#/components/schemas/PaymentVndAccountInfo'
              SPARK_WALLET:
                $ref: '#/components/schemas/PaymentSparkWalletInfo'
              LIGHTNING:
                $ref: '#/components/schemas/PaymentLightningInvoiceInfo'
              SOLANA_WALLET:
                $ref: '#/components/schemas/PaymentSolanaWalletInfo'
              TRON_WALLET:
                $ref: '#/components/schemas/PaymentTronWalletInfo'
              POLYGON_WALLET:
                $ref: '#/components/schemas/PaymentPolygonWalletInfo'
              BASE_WALLET:
                $ref: '#/components/schemas/PaymentBaseWalletInfo'
              ETHEREUM_WALLET:
                $ref: '#/components/schemas/PaymentEthereumWalletInfo'
              AED_ACCOUNT:
                $ref: '#/components/schemas/PaymentAedAccountInfo'
              KES_ACCOUNT:
                $ref: '#/components/schemas/PaymentKesAccountInfo'
              MWK_ACCOUNT:
                $ref: '#/components/schemas/PaymentMwkAccountInfo'
              RWF_ACCOUNT:
                $ref: '#/components/schemas/PaymentRwfAccountInfo'
              TZS_ACCOUNT:
                $ref: '#/components/schemas/PaymentTzsAccountInfo'
              UGX_ACCOUNT:
                $ref: '#/components/schemas/PaymentUgxAccountInfo'
              XOF_ACCOUNT:
                $ref: '#/components/schemas/PaymentXofAccountInfo'
              ZAR_ACCOUNT:
                $ref: '#/components/schemas/PaymentZarAccountInfo'
              ZMW_ACCOUNT:
                $ref: '#/components/schemas/PaymentZmwAccountInfo'
              BWP_ACCOUNT:
                $ref: '#/components/schemas/PaymentBwpAccountInfo'
              XAF_ACCOUNT:
                $ref: '#/components/schemas/PaymentXafAccountInfo'
              BDT_ACCOUNT:
                $ref: '#/components/schemas/PaymentBdtAccountInfo'
              ARS_ACCOUNT:
                $ref: '#/components/schemas/PaymentArsAccountInfo'
              COP_ACCOUNT:
                $ref: '#/components/schemas/PaymentCopAccountInfo'
              EGP_ACCOUNT:
                $ref: '#/components/schemas/PaymentEgpAccountInfo'
              GHS_ACCOUNT:
                $ref: '#/components/schemas/PaymentGhsAccountInfo'
              GTQ_ACCOUNT:
                $ref: '#/components/schemas/PaymentGtqAccountInfo'
              HTG_ACCOUNT:
                $ref: '#/components/schemas/PaymentHtgAccountInfo'
              JMD_ACCOUNT:
                $ref: '#/components/schemas/PaymentJmdAccountInfo'
              PKR_ACCOUNT:
                $ref: '#/components/schemas/PaymentPkrAccountInfo'
    Currency:
      type: object
      properties:
        code:
          type: string
          description: >-
            Three-letter currency code (ISO 4217) for fiat currencies. Some
            cryptocurrencies may use their own ticker symbols (e.g. "BTC" for
            Bitcoin, "USDC" for USDC, etc.)
          example: USD
        name:
          type: string
          description: Full name of the currency
          example: United States Dollar
        symbol:
          type: string
          description: Symbol of the currency
          example: $
        decimals:
          type: integer
          description: Number of decimal places for the currency
          minimum: 0
          example: 2
    PaymentUsdAccountInfo:
      title: USD Bank Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/UsdAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentBrlAccountInfo:
      title: BRL Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - type: object
          required:
            - qrCode
          properties:
            accountType:
              type: string
              enum:
                - BRL_ACCOUNT
            qrCode:
              type: string
              description: >-
                A PIX QR code payload that can be used to fund the transaction.
                This can be rendered as a QR code image or pasted into a
                PIX-compatible banking app.
              minLength: 1
    PaymentMxnAccountInfo:
      title: MXN Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/MxnAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentDkkAccountInfo:
      title: DKK Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/DkkAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentEurAccountInfo:
      title: EUR Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/EurAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentInrAccountInfo:
      title: INR Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/InrAccountInfo'
    PaymentNgnAccountInfo:
      title: NGN Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/NgnAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentCadAccountInfo:
      title: CAD Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/CadAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentGbpAccountInfo:
      title: GBP Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/GbpAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentHkdAccountInfo:
      title: HKD Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/HkdAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentIdrAccountInfo:
      title: IDR Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/IdrAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentMyrAccountInfo:
      title: MYR Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/MyrAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentPhpAccountInfo:
      title: PHP Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/PhpAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentSgdAccountInfo:
      title: SGD Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/SgdAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentThbAccountInfo:
      title: THB Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/ThbAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentVndAccountInfo:
      title: VND Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/VndAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentAedAccountInfo:
      title: AED Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/AedAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentKesAccountInfo:
      title: KES Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/KesAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentMwkAccountInfo:
      title: MWK Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/MwkAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentRwfAccountInfo:
      title: RWF Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/RwfAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentTzsAccountInfo:
      title: TZS Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/TzsAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentUgxAccountInfo:
      title: UGX Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/UgxAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentXofAccountInfo:
      title: XOF Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/XofAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentZarAccountInfo:
      title: ZAR Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/ZarAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentZmwAccountInfo:
      title: ZMW Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/ZmwAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentBwpAccountInfo:
      title: BWP Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/BwpAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentXafAccountInfo:
      title: XAF Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/XafAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentBdtAccountInfo:
      title: BDT Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/BdtAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentArsAccountInfo:
      title: ARS Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - type: object
          required:
            - accountNumber
          properties:
            accountType:
              type: string
              enum:
                - ARS_ACCOUNT
            accountNumber:
              type: string
              description: >-
                The static CVU (Clave Virtual Uniforme) bank account number to
                pay to.
              minLength: 22
              maxLength: 22
              pattern: ^\d{22}$
              example: '0000003100074052501434'
    PaymentCopAccountInfo:
      title: COP Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - type: object
          required:
            - paymentUrl
          properties:
            accountType:
              type: string
              enum:
                - COP_ACCOUNT
            paymentUrl:
              type: string
              format: uri
              description: A payment URL where the customer can complete their COP deposit.
              example: https://payments.example.com/t/abc123
    PaymentEgpAccountInfo:
      title: EGP Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/EgpAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentGhsAccountInfo:
      title: GHS Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/GhsAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentGtqAccountInfo:
      title: GTQ Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/GtqAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentHtgAccountInfo:
      title: HTG Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/HtgAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentJmdAccountInfo:
      title: JMD Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/JmdAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentPkrAccountInfo:
      title: PKR Account
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/PkrAccountInfo'
        - type: object
          required:
            - reference
          properties:
            reference:
              type: string
              description: >-
                Unique reference code that must be included with the payment to
                properly credit it
              example: UMA-Q12345-REF
    PaymentSparkWalletInfo:
      title: Spark Wallet
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/SparkWalletInfo'
        - type: object
          required:
            - assetType
          properties:
            assetType:
              type: string
              description: Type of asset
              enum:
                - BTC
                - USDB
            invoice:
              type: string
              description: Invoice for the payment
              example: >-
                sparkrt1pgss8ter0fhc4c220f3zftmpz49h8wqte8eg3m5zkrraplgc048jucgszg3ssqgjzqqekv73mmh842yj7drsjwh7t7tz5zt8wf5kghm5v4ehggszppjp5s80cg3qjdzc55g2567tn3lj705hdsr577tg8ah795mlnt6807y657qhkmgfkf9w75p4wz3l8vhua85zdn6ryj32zuj0p00pv2l5z4u47mw6h4s
    PaymentLightningInvoiceInfo:
      title: Lightning Invoice
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - type: object
          required:
            - invoice
          properties:
            accountType:
              type: string
              enum:
                - LIGHTNING
            invoice:
              type: string
              description: Invoice for the payment
              example: >-
                lnbc15u1p3xnhl2pp5jptserfk3zk4qy42tlucycrfwxhydvlemu9pqr93tuzlv9cc7g3sdqsvfhkcap3xyhx7un8cqzpgxqzjcsp5f8c52y2stc300gl6s4xswtjpc37hrnnr3c9wvtgjfuvqmpm35evq9qyyssqy4lgd8tj637qcjp05rdpxxykjenthxftej7a2zzmwrmrl70fyj9hvj0rewhzj7jfyuwkwcg9g2jpwtk3wkjtwnkdks84hsnu8xps5vsq4gj5hs
    PaymentSolanaWalletInfo:
      title: Solana Wallet
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/SolanaWalletInfo'
        - type: object
          properties:
            assetType:
              type: string
              description: Type of asset
              enum:
                - USDC
                - USDT
    PaymentTronWalletInfo:
      title: Tron Wallet
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/TronWalletInfo'
        - type: object
          properties:
            assetType:
              type: string
              description: Type of asset
              enum:
                - USDT
    PaymentPolygonWalletInfo:
      title: Polygon Wallet
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/PolygonWalletInfo'
        - type: object
          properties:
            assetType:
              type: string
              description: Type of asset
              enum:
                - USDC
    PaymentBaseWalletInfo:
      title: Base Wallet
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/BaseWalletInfo'
        - type: object
          properties:
            assetType:
              type: string
              description: Type of asset
              enum:
                - USDC
    PaymentEthereumWalletInfo:
      title: Ethereum Wallet
      allOf:
        - $ref: '#/components/schemas/BasePaymentAccountInfo'
        - $ref: '#/components/schemas/EthereumWalletInfo'
        - type: object
          properties:
            assetType:
              type: string
              description: Type of asset
              enum:
                - USDC
    BasePaymentAccountInfo:
      type: object
      required:
        - accountType
      properties:
        accountType:
          $ref: '#/components/schemas/PaymentAccountType'
    UsdAccountInfo:
      allOf:
        - $ref: '#/components/schemas/UsdAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - ACH
                  - WIRE
                  - RTP
                  - FEDNOW
                  - BANK_TRANSFER
    MxnAccountInfo:
      allOf:
        - $ref: '#/components/schemas/MxnAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - SPEI
    DkkAccountInfo:
      allOf:
        - $ref: '#/components/schemas/DkkAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - SEPA
                  - SEPA_INSTANT
    EurAccountInfo:
      allOf:
        - $ref: '#/components/schemas/EurAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - SEPA
                  - SEPA_INSTANT
    InrAccountInfo:
      allOf:
        - $ref: '#/components/schemas/InrAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - UPI
    NgnAccountInfo:
      allOf:
        - $ref: '#/components/schemas/NgnAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - BANK_TRANSFER
    CadAccountInfo:
      allOf:
        - $ref: '#/components/schemas/CadAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - BANK_TRANSFER
    GbpAccountInfo:
      allOf:
        - $ref: '#/components/schemas/GbpAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - FASTER_PAYMENTS
    HkdAccountInfo:
      allOf:
        - $ref: '#/components/schemas/HkdAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - BANK_TRANSFER
    IdrAccountInfo:
      allOf:
        - $ref: '#/components/schemas/IdrAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - BANK_TRANSFER
    MyrAccountInfo:
      allOf:
        - $ref: '#/components/schemas/MyrAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - BANK_TRANSFER
    PhpAccountInfo:
      allOf:
        - $ref: '#/components/schemas/PhpAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - BANK_TRANSFER
    SgdAccountInfo:
      allOf:
        - $ref: '#/components/schemas/SgdAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - PAYNOW
                  - FAST
                  - BANK_TRANSFER
    ThbAccountInfo:
      allOf:
        - $ref: '#/components/schemas/ThbAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - BANK_TRANSFER
    VndAccountInfo:
      allOf:
        - $ref: '#/components/schemas/VndAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - BANK_TRANSFER
    AedAccountInfo:
      allOf:
        - $ref: '#/components/schemas/AedAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - BANK_TRANSFER
    KesAccountInfo:
      allOf:
        - $ref: '#/components/schemas/KesAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - MOBILE_MONEY
    MwkAccountInfo:
      allOf:
        - $ref: '#/components/schemas/MwkAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - MOBILE_MONEY
    RwfAccountInfo:
      allOf:
        - $ref: '#/components/schemas/RwfAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - MOBILE_MONEY
    TzsAccountInfo:
      allOf:
        - $ref: '#/components/schemas/TzsAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - MOBILE_MONEY
    UgxAccountInfo:
      allOf:
        - $ref: '#/components/schemas/UgxAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - MOBILE_MONEY
    XofAccountInfo:
      allOf:
        - $ref: '#/components/schemas/XofAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - MOBILE_MONEY
    ZarAccountInfo:
      allOf:
        - $ref: '#/components/schemas/ZarAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - BANK_TRANSFER
    ZmwAccountInfo:
      allOf:
        - $ref: '#/components/schemas/ZmwAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - MOBILE_MONEY
    BwpAccountInfo:
      allOf:
        - $ref: '#/components/schemas/BwpAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - MOBILE_MONEY
    XafAccountInfo:
      allOf:
        - $ref: '#/components/schemas/XafAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - MOBILE_MONEY
    BdtAccountInfo:
      allOf:
        - $ref: '#/components/schemas/BdtAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - BANK_TRANSFER
                  - MOBILE_MONEY
    EgpAccountInfo:
      allOf:
        - $ref: '#/components/schemas/EgpAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - BANK_TRANSFER
    GhsAccountInfo:
      allOf:
        - $ref: '#/components/schemas/GhsAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - BANK_TRANSFER
                  - MOBILE_MONEY
    GtqAccountInfo:
      allOf:
        - $ref: '#/components/schemas/GtqAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - BANK_TRANSFER
                  - MOBILE_MONEY
    HtgAccountInfo:
      allOf:
        - $ref: '#/components/schemas/HtgAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - MOBILE_MONEY
    JmdAccountInfo:
      allOf:
        - $ref: '#/components/schemas/JmdAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - BANK_TRANSFER
    PkrAccountInfo:
      allOf:
        - $ref: '#/components/schemas/PkrAccountInfoBase'
        - type: object
          required:
            - paymentRails
          properties:
            paymentRails:
              type: array
              items:
                type: string
                enum:
                  - BANK_TRANSFER
                  - MOBILE_MONEY
    SparkWalletInfo:
      type: object
      required:
        - address
        - accountType
      properties:
        accountType:
          type: string
          enum:
            - SPARK_WALLET
        address:
          type: string
          description: Spark wallet address
          example: spark1pgssyuuuhnrrdjswal5c3s3rafw9w3y5dd4cjy3duxlf7hjzkp0rqx6dj6mrhu
    SolanaWalletInfo:
      type: object
      required:
        - address
        - accountType
      properties:
        accountType:
          type: string
          enum:
            - SOLANA_WALLET
        address:
          type: string
          description: Solana wallet address
          example: 4Nd1m6Qkq7RfKuE5vQ9qP9Tn6H94Ueqb4xXHzsAbd8Wg
    TronWalletInfo:
      type: object
      required:
        - address
        - accountType
      properties:
        accountType:
          type: string
          enum:
            - TRON_WALLET
        address:
          type: string
          description: Tron wallet address
          example: TNPeeaaFB7K9cmo4uQpcU32zGK8G1NYqeL
    PolygonWalletInfo:
      type: object
      required:
        - address
        - accountType
      properties:
        accountType:
          type: string
          enum:
            - POLYGON_WALLET
        address:
          type: string
          description: Polygon eth wallet address
          example: '0xAbCDEF1234567890aBCdEf1234567890ABcDef12'
    BaseWalletInfo:
      type: object
      required:
        - address
        - accountType
      properties:
        accountType:
          type: string
          enum:
            - BASE_WALLET
        address:
          type: string
          description: Base eth wallet address
          example: '0xAbCDEF1234567890aBCdEf1234567890ABcDef12'
    EthereumWalletInfo:
      type: object
      required:
        - address
        - accountType
      properties:
        accountType:
          type: string
          enum:
            - ETHEREUM_WALLET
        address:
          type: string
          description: Ethereum L1 wallet address
          example: '0xAbCDEF1234567890aBCdEf1234567890ABcDef12'
    PaymentAccountType:
      type: string
      enum:
        - USD_ACCOUNT
        - BRL_ACCOUNT
        - MXN_ACCOUNT
        - DKK_ACCOUNT
        - ARS_ACCOUNT
        - COP_ACCOUNT
        - EUR_ACCOUNT
        - INR_ACCOUNT
        - NGN_ACCOUNT
        - CAD_ACCOUNT
        - GBP_ACCOUNT
        - HKD_ACCOUNT
        - IDR_ACCOUNT
        - MYR_ACCOUNT
        - PHP_ACCOUNT
        - SGD_ACCOUNT
        - THB_ACCOUNT
        - VND_ACCOUNT
        - SPARK_WALLET
        - LIGHTNING
        - SOLANA_WALLET
        - TRON_WALLET
        - POLYGON_WALLET
        - BASE_WALLET
        - ETHEREUM_WALLET
      description: Type of payment account or wallet
      example: USD_ACCOUNT
    UsdAccountInfoBase:
      type: object
      required:
        - accountType
        - accountNumber
        - routingNumber
      properties:
        accountType:
          type: string
          enum:
            - USD_ACCOUNT
        accountNumber:
          type: string
          description: The account number of the bank
          minLength: 1
          maxLength: 34
        routingNumber:
          type: string
          description: The ABA routing number
          example: '021000021'
          minLength: 9
          maxLength: 9
          pattern: ^[0-9]{9}$
    MxnAccountInfoBase:
      type: object
      required:
        - accountType
        - clabeNumber
      properties:
        accountType:
          type: string
          enum:
            - MXN_ACCOUNT
        clabeNumber:
          type: string
          description: The CLABE number of the bank
          example: '123456789012345678'
          minLength: 18
          maxLength: 18
          pattern: ^[0-9]{18}$
    DkkAccountInfoBase:
      type: object
      required:
        - accountType
        - iban
      properties:
        accountType:
          type: string
          enum:
            - DKK_ACCOUNT
        iban:
          type: string
          description: The IBAN of the bank account
          example: DE89370400440532013000
          minLength: 15
          maxLength: 34
          pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$
        swiftCode:
          type: string
          description: The SWIFT/BIC code of the bank
          example: DEUTDEFF
          minLength: 8
          maxLength: 11
          pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
    EurAccountInfoBase:
      type: object
      required:
        - accountType
        - iban
      properties:
        accountType:
          type: string
          enum:
            - EUR_ACCOUNT
        iban:
          type: string
          description: The IBAN of the bank account
          example: DE89370400440532013000
          minLength: 15
          maxLength: 34
          pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$
        swiftCode:
          type: string
          description: The SWIFT/BIC code of the bank
          example: DEUTDEFF
          minLength: 8
          maxLength: 11
          pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
    InrAccountInfoBase:
      type: object
      required:
        - accountType
        - vpa
      properties:
        accountType:
          type: string
          enum:
            - INR_ACCOUNT
        vpa:
          type: string
          description: The UPI Virtual Payment Address
          example: user@upi
          minLength: 3
          maxLength: 255
          pattern: ^[a-zA-Z0-9.\-_]+@[a-zA-Z0-9]+$
    NgnAccountInfoBase:
      type: object
      required:
        - accountType
        - accountNumber
        - bankName
      properties:
        accountType:
          type: string
          enum:
            - NGN_ACCOUNT
        accountNumber:
          type: string
          description: Nigerian bank account number
          minLength: 10
          maxLength: 10
          example: '0123456789'
          pattern: ^[0-9]{10}$
        bankName:
          type: string
          description: The name of the bank
          minLength: 1
          maxLength: 255
    CadAccountInfoBase:
      type: object
      required:
        - accountType
        - bankCode
        - branchCode
        - accountNumber
      properties:
        accountType:
          type: string
          enum:
            - CAD_ACCOUNT
        bankCode:
          type: string
          description: Canadian financial institution number (3 digits)
          example: '001'
          minLength: 3
          maxLength: 3
          pattern: ^[0-9]{3}$
        branchCode:
          type: string
          description: Transit number identifying the branch (5 digits)
          example: '00012'
          minLength: 5
          maxLength: 5
          pattern: ^[0-9]{5}$
        accountNumber:
          type: string
          description: Bank account number (7-12 digits)
          example: '1234567'
          minLength: 7
          maxLength: 12
          pattern: ^[0-9]{7,12}$
    GbpAccountInfoBase:
      type: object
      required:
        - accountType
        - sortCode
        - accountNumber
      properties:
        accountType:
          type: string
          enum:
            - GBP_ACCOUNT
        sortCode:
          type: string
          description: The UK sort code
          example: '123456'
          minLength: 6
          maxLength: 6
          pattern: ^[0-9]{6}$
        accountNumber:
          type: string
          description: UK bank account number (8 digits)
          minLength: 8
          maxLength: 8
          example: '12345678'
          pattern: ^[0-9]{8}$
    HkdAccountInfoBase:
      type: object
      required:
        - accountType
        - bankName
        - accountNumber
        - swiftCode
      properties:
        accountType:
          type: string
          enum:
            - HKD_ACCOUNT
        bankName:
          type: string
          description: The name of the bank
          minLength: 1
          maxLength: 255
        accountNumber:
          type: string
          description: Hong Kong bank account number
          minLength: 1
          maxLength: 34
          example: '123456789012'
        swiftCode:
          type: string
          description: The SWIFT/BIC code of the bank
          example: HSBCHKHHHKH
          minLength: 8
          maxLength: 11
          pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
    IdrAccountInfoBase:
      type: object
      required:
        - accountType
        - bankName
        - accountNumber
        - swiftCode
        - phoneNumber
      properties:
        accountType:
          type: string
          enum:
            - IDR_ACCOUNT
        bankName:
          type: string
          description: The name of the bank
          minLength: 1
          maxLength: 255
          example: Bank Central Asia
        accountNumber:
          type: string
          description: Indonesian bank account number
          minLength: 1
          maxLength: 34
          example: '1234567890'
        swiftCode:
          type: string
          description: The SWIFT/BIC code of the bank
          example: CENAIDJA
          minLength: 8
          maxLength: 11
          pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
        phoneNumber:
          type: string
          description: Indonesian phone number for e-wallet payments
          example: '+6281234567890'
          minLength: 7
          maxLength: 15
          pattern: ^\+62[0-9]{9,12}$
    MyrAccountInfoBase:
      type: object
      required:
        - accountType
        - bankName
        - accountNumber
        - swiftCode
      properties:
        accountType:
          type: string
          enum:
            - MYR_ACCOUNT
        bankName:
          type: string
          description: The name of the bank
          minLength: 1
          maxLength: 255
        accountNumber:
          type: string
          description: Malaysian bank account number
          minLength: 1
          maxLength: 34
          example: '1234567890'
        swiftCode:
          type: string
          description: The SWIFT/BIC code of the bank
          example: MABORUMMYYY
          minLength: 8
          maxLength: 11
          pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
    PhpAccountInfoBase:
      type: object
      required:
        - accountType
        - bankName
        - accountNumber
      properties:
        accountType:
          type: string
          enum:
            - PHP_ACCOUNT
        bankName:
          type: string
          description: Name of the beneficiary's bank
          minLength: 1
          maxLength: 255
          example: BDO Unibank
        accountNumber:
          type: string
          description: Bank account number
          minLength: 8
          maxLength: 16
          example: '001234567890'
          pattern: ^[0-9]{8,16}$
    SgdAccountInfoBase:
      type: object
      required:
        - accountType
        - bankName
        - accountNumber
        - swiftCode
      properties:
        accountType:
          type: string
          enum:
            - SGD_ACCOUNT
        bankName:
          type: string
          description: Name of the beneficiary's bank
          minLength: 1
          maxLength: 255
          example: DBS Bank Ltd
        accountNumber:
          type: string
          description: Bank account number
          minLength: 1
          maxLength: 34
          example: '0123456789'
        swiftCode:
          type: string
          description: The SWIFT/BIC code of the bank
          example: DBSSSGSG
          minLength: 8
          maxLength: 11
          pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
    ThbAccountInfoBase:
      type: object
      required:
        - accountType
        - bankName
        - accountNumber
        - swiftCode
      properties:
        accountType:
          type: string
          enum:
            - THB_ACCOUNT
        bankName:
          type: string
          description: The name of the bank
          minLength: 1
          maxLength: 255
        accountNumber:
          type: string
          description: Thai bank account number
          minLength: 1
          maxLength: 34
          example: '1234567890'
        swiftCode:
          type: string
          description: The SWIFT/BIC code of the bank
          example: BKKBTHBK
          minLength: 8
          maxLength: 11
          pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
    VndAccountInfoBase:
      type: object
      required:
        - accountType
        - bankName
        - accountNumber
        - swiftCode
      properties:
        accountType:
          type: string
          enum:
            - VND_ACCOUNT
        bankName:
          type: string
          description: The name of the bank
          minLength: 1
          maxLength: 255
        accountNumber:
          type: string
          description: Vietnamese bank account number
          minLength: 1
          maxLength: 34
          example: '1234567890'
        swiftCode:
          type: string
          description: The SWIFT/BIC code of the bank
          example: BFTVVNVX
          minLength: 8
          maxLength: 11
          pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
    AedAccountInfoBase:
      type: object
      required:
        - accountType
        - iban
      properties:
        accountType:
          type: string
          enum:
            - AED_ACCOUNT
        iban:
          type: string
          description: UAE IBAN (23 characters, starting with AE)
          example: AE070331234567890123456
          minLength: 23
          maxLength: 23
          pattern: ^AE[0-9]{21}$
        swiftCode:
          type: string
          description: The SWIFT/BIC code of the bank
          example: EBILAEAD
          minLength: 8
          maxLength: 11
          pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
    KesAccountInfoBase:
      type: object
      required:
        - accountType
        - phoneNumber
        - provider
      properties:
        accountType:
          type: string
          enum:
            - KES_ACCOUNT
        phoneNumber:
          type: string
          description: Kenyan mobile money phone number
          example: '+254712345678'
          minLength: 7
          maxLength: 15
          pattern: ^\+254[0-9]{9}$
        provider:
          type: string
          description: The mobile money provider name
          minLength: 1
          maxLength: 255
    MwkAccountInfoBase:
      type: object
      required:
        - accountType
        - phoneNumber
        - provider
      properties:
        accountType:
          type: string
          enum:
            - MWK_ACCOUNT
        phoneNumber:
          type: string
          description: The phone number in international format
          example: '+1234567890'
          minLength: 7
          maxLength: 15
          pattern: ^\+[0-9]{6,14}$
        provider:
          type: string
          description: The mobile money provider name
          minLength: 1
          maxLength: 255
    RwfAccountInfoBase:
      type: object
      required:
        - accountType
        - phoneNumber
        - provider
      properties:
        accountType:
          type: string
          enum:
            - RWF_ACCOUNT
        phoneNumber:
          type: string
          description: Rwandan mobile money phone number
          example: '+250781234567'
          minLength: 7
          maxLength: 15
          pattern: ^\+250[0-9]{9}$
        provider:
          type: string
          description: The mobile money provider name
          minLength: 1
          maxLength: 255
    TzsAccountInfoBase:
      type: object
      required:
        - accountType
        - phoneNumber
        - provider
      properties:
        accountType:
          type: string
          enum:
            - TZS_ACCOUNT
        phoneNumber:
          type: string
          description: Tanzanian mobile money phone number
          example: '+255712345678'
          minLength: 7
          maxLength: 15
          pattern: ^\+255[0-9]{9}$
        provider:
          type: string
          description: The mobile money provider name
          minLength: 1
          maxLength: 255
    UgxAccountInfoBase:
      type: object
      required:
        - accountType
        - phoneNumber
        - provider
      properties:
        accountType:
          type: string
          enum:
            - UGX_ACCOUNT
        phoneNumber:
          type: string
          description: The phone number in international format
          example: '+1234567890'
          minLength: 7
          maxLength: 15
          pattern: ^\+[0-9]{6,14}$
        provider:
          type: string
          description: The mobile money provider name
          minLength: 1
          maxLength: 255
    XofAccountInfoBase:
      type: object
      required:
        - accountType
        - phoneNumber
        - provider
        - region
      properties:
        accountType:
          type: string
          enum:
            - XOF_ACCOUNT
        phoneNumber:
          type: string
          description: The phone number in international format
          example: '+1234567890'
          minLength: 7
          maxLength: 15
          pattern: ^\+[0-9]{6,14}$
        provider:
          type: string
          description: The mobile money provider name
          minLength: 1
          maxLength: 255
        region:
          type: string
          description: Country code within the West African CFA franc zone
          minLength: 2
          maxLength: 2
          pattern: ^[A-Z]{2}$
          enum:
            - BJ
            - CI
            - SN
            - TG
    ZarAccountInfoBase:
      type: object
      required:
        - accountType
        - accountNumber
        - bankName
      properties:
        accountType:
          type: string
          enum:
            - ZAR_ACCOUNT
        accountNumber:
          type: string
          description: South African bank account number
          minLength: 9
          maxLength: 13
          example: '1234567890'
          pattern: ^[0-9]{9,13}$
        bankName:
          type: string
          description: The name of the bank
          minLength: 1
          maxLength: 255
    ZmwAccountInfoBase:
      type: object
      required:
        - accountType
        - phoneNumber
        - provider
      properties:
        accountType:
          type: string
          enum:
            - ZMW_ACCOUNT
        phoneNumber:
          type: string
          description: Zambian mobile money phone number
          example: '+260971234567'
          minLength: 7
          maxLength: 15
          pattern: ^\+260[0-9]{9}$
        provider:
          type: string
          description: The mobile money provider name
          minLength: 1
          maxLength: 255
    BwpAccountInfoBase:
      type: object
      required:
        - accountType
        - phoneNumber
        - provider
      properties:
        accountType:
          type: string
          enum:
            - BWP_ACCOUNT
        phoneNumber:
          type: string
          description: The phone number in international format
          example: '+1234567890'
          minLength: 7
          maxLength: 15
          pattern: ^\+[0-9]{6,14}$
        provider:
          type: string
          description: The mobile money provider name
          minLength: 1
          maxLength: 255
    XafAccountInfoBase:
      type: object
      required:
        - accountType
        - phoneNumber
        - provider
        - region
      properties:
        accountType:
          type: string
          enum:
            - XAF_ACCOUNT
        phoneNumber:
          type: string
          description: The phone number in international format
          example: '+1234567890'
          minLength: 7
          maxLength: 15
          pattern: ^\+[0-9]{6,14}$
        provider:
          type: string
          description: The mobile money provider name
          minLength: 1
          maxLength: 255
        region:
          type: string
          description: Country code within the Central African CFA franc zone
          minLength: 2
          maxLength: 2
          pattern: ^[A-Z]{2}$
          enum:
            - CM
            - CG
    BdtAccountInfoBase:
      type: object
      required:
        - accountType
        - accountNumber
        - branchCode
        - phoneNumber
      properties:
        accountType:
          type: string
          enum:
            - BDT_ACCOUNT
        accountNumber:
          type: string
          description: The account number of the bank
          minLength: 1
          maxLength: 34
        branchCode:
          type: string
          description: The branch code
          minLength: 5
          maxLength: 5
          pattern: ^[0-9]{5}$
        swiftCode:
          type: string
          description: The SWIFT/BIC code of the bank
          example: DEUTDEFF
          minLength: 8
          maxLength: 11
          pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
        phoneNumber:
          type: string
          description: The phone number in international format
          example: '+1234567890'
          minLength: 7
          maxLength: 15
          pattern: ^\+[0-9]{6,14}$
    EgpAccountInfoBase:
      type: object
      required:
        - accountType
        - accountNumber
      properties:
        accountType:
          type: string
          enum:
            - EGP_ACCOUNT
        accountNumber:
          type: string
          description: The account number of the bank
          minLength: 1
          maxLength: 34
        iban:
          type: string
          description: The IBAN of the bank account
          example: DE89370400440532013000
          minLength: 15
          maxLength: 34
          pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$
        swiftCode:
          type: string
          description: The SWIFT/BIC code of the bank
          example: DEUTDEFF
          minLength: 8
          maxLength: 11
          pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
    GhsAccountInfoBase:
      type: object
      required:
        - accountType
        - accountNumber
        - phoneNumber
      properties:
        accountType:
          type: string
          enum:
            - GHS_ACCOUNT
        accountNumber:
          type: string
          description: The account number of the bank
          minLength: 1
          maxLength: 34
        phoneNumber:
          type: string
          description: The phone number in international format
          example: '+1234567890'
          minLength: 7
          maxLength: 15
          pattern: ^\+[0-9]{6,14}$
    GtqAccountInfoBase:
      type: object
      required:
        - accountType
        - accountNumber
        - phoneNumber
      properties:
        accountType:
          type: string
          enum:
            - GTQ_ACCOUNT
        accountNumber:
          type: string
          description: The account number of the bank
          minLength: 1
          maxLength: 34
        phoneNumber:
          type: string
          description: The phone number in international format
          example: '+1234567890'
          minLength: 7
          maxLength: 15
          pattern: ^\+[0-9]{6,14}$
    HtgAccountInfoBase:
      type: object
      required:
        - accountType
        - phoneNumber
      properties:
        accountType:
          type: string
          enum:
            - HTG_ACCOUNT
        phoneNumber:
          type: string
          description: The phone number in international format
          example: '+1234567890'
          minLength: 7
          maxLength: 15
          pattern: ^\+[0-9]{6,14}$
    JmdAccountInfoBase:
      type: object
      required:
        - accountType
        - accountNumber
        - branchCode
        - bankAccountType
      properties:
        accountType:
          type: string
          enum:
            - JMD_ACCOUNT
        accountNumber:
          type: string
          description: The account number of the bank
          minLength: 1
          maxLength: 34
        branchCode:
          type: string
          description: The branch code
          minLength: 5
          maxLength: 5
          pattern: ^[0-9]{5}$
        bankAccountType:
          type: string
          description: The bank account type
          enum:
            - CHECKING
            - SAVINGS
    PkrAccountInfoBase:
      type: object
      required:
        - accountType
        - accountNumber
        - phoneNumber
      properties:
        accountType:
          type: string
          enum:
            - PKR_ACCOUNT
        accountNumber:
          type: string
          description: The account number of the bank
          minLength: 1
          maxLength: 34
        iban:
          type: string
          description: The IBAN of the bank account
          example: DE89370400440532013000
          minLength: 15
          maxLength: 34
          pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$
        phoneNumber:
          type: string
          description: The phone number in international format
          example: '+1234567890'
          minLength: 7
          maxLength: 15
          pattern: ^\+[0-9]{6,14}$
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
      description: >-
        API token authentication using format `<api token id>:<api client
        secret>`

````