fireblocks Whitelisted External Wallets API

The Whitelisted External Wallets API from fireblocks — 4 operation(s) for whitelisted external wallets.

Operations 8

GET /external_wallets List external wallets #
POST /external_wallets Create an external wallet #
GET /external_wallets/{walletId} Find an external wallet #
DELETE /external_wallets/{walletId} Delete an external wallet #
POST /external_wallets/{walletId}/set_customer_ref_id Set an AML customer reference ID for an external wallet #
GET /external_wallets/{walletId}/{assetId} Get an asset from an external wallet #
POST /external_wallets/{walletId}/{assetId} Add an asset to an external wallet. #
DELETE /external_wallets/{walletId}/{assetId} Delete an asset from an external wallet #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/fireblocks-whitelisted-external-wallets-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

fireblocks-whitelisted-external-wallets-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fireblocks Blockchains and Assets Approval Requests Whitelisted External Wallets API
  description: 'Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain.


    - Visit our website for more information: [Fireblocks Website](https://fireblocks.com)

    - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)

    '
  version: 1.8.0
  contact:
    email: developers@fireblocks.com
servers:
- url: https://api.fireblocks.io/v1
  description: Fireblocks Production Environment Base URL
- url: https://sandbox-api.fireblocks.io/v1
  description: Fireblocks Sandbox Environment Base URL
security: []
tags:
- name: Whitelisted External Wallets
paths:
  /external_wallets:
    get:
      summary: List external wallets
      description: 'Gets a list of external wallets under the workspace.


        External Wallet is a whitelisted address of a wallet that belongs to your users/counterparties.


        - You cannot see the balance of the external wallet.

        - You cannot initiate transactions from an external wallet as the source via Fireblocks.

        </br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.'
      tags:
      - Whitelisted External Wallets
      x-readme:
        code-samples:
        - language: javascript
          code: const externalWallets = await fireblocks.getExternalWallets();
          name: Fireblocks SDK Javascript example
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<GetExternalWalletsResponse>> = fireblocks.externalWallets.getExternalWallets();'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<List<UnmanagedWallet>>> response = fireblocks.externalWallets().getExternalWallets();
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.external_wallets.get_external_wallets();
          name: Fireblocks SDK Python example
      responses:
        '200':
          description: A list of external wallets
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetExternalWalletsResponse'
        default:
          $ref: '#/components/responses/Error'
      operationId: getExternalWallets
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<GetExternalWalletsResponse>> = fireblocks.externalWallets.getExternalWallets();'
      - lang: Java
        source: CompletableFuture<ApiResponse<List<UnmanagedWallet>>> response = fireblocks.externalWallets().getExternalWallets();
      - lang: Python
        source: response = fireblocks.external_wallets.get_external_wallets();
    post:
      summary: Create an external wallet
      description: 'Creates a new external wallet with the requested name.


        External Wallet is a whitelisted address of a wallet that belongs to your users/counterparties.


        - You cannot see the balance of the external wallet.

        - You cannot initiate transactions from an external wallet as the source via Fireblocks.

        Learn more about Whitelisted External Wallet Addresses [here](https://developers.fireblocks.com/docs/whitelist-addresses#external-wallets).

        </br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.'
      tags:
      - Whitelisted External Wallets
      x-readme:
        code-samples:
        - language: javascript
          code: const externalWallet = await fireblocks.createExternalWallet(name, customerRefId);
          name: Fireblocks SDK Javascript example
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<UnmanagedWallet>> = fireblocks.externalWallets.createExternalWallet(externalWalletsApiCreateExternalWalletRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<UnmanagedWallet>> response = fireblocks.externalWallets().createExternalWallet(createWalletRequest, idempotencyKey);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.external_wallets.create_external_wallet(create_wallet_request, idempotency_key);
          name: Fireblocks SDK Python example
      parameters:
      - $ref: '#/components/parameters/X-Idempotency-Key'
      responses:
        '200':
          description: A Wallet object
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnmanagedWallet'
        default:
          $ref: '#/components/responses/Error'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWalletRequest'
      operationId: createExternalWallet
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<UnmanagedWallet>> = fireblocks.externalWallets.createExternalWallet(externalWalletsApiCreateExternalWalletRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<UnmanagedWallet>> response = fireblocks.externalWallets().createExternalWallet(createWalletRequest, idempotencyKey);
      - lang: Python
        source: response = fireblocks.external_wallets.create_external_wallet(create_wallet_request, idempotency_key);
  /external_wallets/{walletId}:
    get:
      summary: Find an external wallet
      description: 'Returns an external wallet by ID.


        External Wallet is a whitelisted address of a wallet that belongs to your users/counterparties.


        - You cannot see the balance of the external wallet.

        - You cannot initiate transactions from an external wallet as the source via Fireblocks.

        </br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.'
      tags:
      - Whitelisted External Wallets
      x-readme:
        code-samples:
        - language: javascript
          code: const externalWallet = await fireblocks.getExternalWallet(walletId);
          name: Fireblocks SDK Javascript example
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<UnmanagedWallet>> = fireblocks.externalWallets.getExternalWallet(externalWalletsApiGetExternalWalletRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<UnmanagedWallet>> response = fireblocks.externalWallets().getExternalWallet(walletId);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.external_wallets.get_external_wallet(wallet_id);
          name: Fireblocks SDK Python example
      parameters:
      - in: path
        name: walletId
        required: true
        description: The ID of the wallet to return
        schema:
          type: string
      responses:
        '200':
          description: A Wallet object
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnmanagedWallet'
        default:
          $ref: '#/components/responses/Error'
      operationId: getExternalWallet
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<UnmanagedWallet>> = fireblocks.externalWallets.getExternalWallet(externalWalletsApiGetExternalWalletRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<UnmanagedWallet>> response = fireblocks.externalWallets().getExternalWallet(walletId);
      - lang: Python
        source: response = fireblocks.external_wallets.get_external_wallet(wallet_id);
    delete:
      summary: Delete an external wallet
      description: 'Deletes an external wallet by ID.


        External Wallet is a whitelisted address of a wallet that belongs to your users/counterparties.


        - You cannot see the balance of the external wallet.

        - You cannot initiate transactions from an external wallet as the source via Fireblocks.

        </br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.'
      tags:
      - Whitelisted External Wallets
      x-readme:
        code-samples:
        - language: javascript
          code: const result = await fireblocks.deleteExternalWallet(walletId);
          name: Fireblocks SDK Javascript example
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<void>> = fireblocks.externalWallets.deleteExternalWallet(externalWalletsApiDeleteExternalWalletRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<Void>> response = fireblocks.externalWallets().deleteExternalWallet(walletId);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.external_wallets.delete_external_wallet(wallet_id);
          name: Fireblocks SDK Python example
      parameters:
      - in: path
        name: walletId
        required: true
        description: The ID of the wallet to delete
        schema:
          type: string
      responses:
        '201':
          description: OK
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
        default:
          $ref: '#/components/responses/Error'
      operationId: deleteExternalWallet
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<void>> = fireblocks.externalWallets.deleteExternalWallet(externalWalletsApiDeleteExternalWalletRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<Void>> response = fireblocks.externalWallets().deleteExternalWallet(walletId);
      - lang: Python
        source: response = fireblocks.external_wallets.delete_external_wallet(wallet_id);
  /external_wallets/{walletId}/set_customer_ref_id:
    post:
      summary: Set an AML customer reference ID for an external wallet
      description: 'Sets an AML/KYT customer reference ID for the specific external wallet.


        External Wallet is a whitelisted address of a wallet that belongs to your users/counterparties.


        - You cannot see the balance of the external wallet.

        - You cannot initiate transactions from an external wallet as the source via Fireblocks.

        Learn more about Whitelisted External Wallet Addresses [here](https://developers.fireblocks.com/docs/whitelist-addresses#external-wallets).

        </br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.'
      tags:
      - Whitelisted External Wallets
      x-readme:
        code-samples:
        - language: javascript
          code: const result = await fireblocks.setCustomerRefIdForExternalWallet(walletId, customerRefId);
          name: Fireblocks SDK Javascript example
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<void>> = fireblocks.externalWallets.setExternalWalletCustomerRefId(externalWalletsApiSetExternalWalletCustomerRefIdRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<Void>> response = fireblocks.externalWallets().setExternalWalletCustomerRefId(setCustomerRefIdRequest, walletId, idempotencyKey);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.external_wallets.set_external_wallet_customer_ref_id(set_customer_ref_id_request, wallet_id, idempotency_key);
          name: Fireblocks SDK Python example
      parameters:
      - in: path
        name: walletId
        required: true
        description: The wallet ID
        schema:
          type: string
      - $ref: '#/components/parameters/X-Idempotency-Key'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetCustomerRefIdRequest'
      responses:
        '201':
          description: OK
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
        default:
          $ref: '#/components/responses/Error'
      operationId: setExternalWalletCustomerRefId
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<void>> = fireblocks.externalWallets.setExternalWalletCustomerRefId(externalWalletsApiSetExternalWalletCustomerRefIdRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<Void>> response = fireblocks.externalWallets().setExternalWalletCustomerRefId(setCustomerRefIdRequest, walletId, idempotencyKey);
      - lang: Python
        source: response = fireblocks.external_wallets.set_external_wallet_customer_ref_id(set_customer_ref_id_request, wallet_id, idempotency_key);
  /external_wallets/{walletId}/{assetId}:
    get:
      summary: Get an asset from an external wallet
      description: "Returns an external wallet by wallet ID and asset ID.\n\nExternal Wallet is a whitelisted address of a wallet that belongs to your users/counterparties.\n\n- You cannot see the balance of the external wallet.\n- You cannot initiate transactions from an external wallet as the source via Fireblocks.\n</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,\n  Viewer."
      tags:
      - Whitelisted External Wallets
      x-readme:
        code-samples:
        - language: javascript
          code: const externalWalletAsset = fireblocks.getExternalWalletAsset(walletId, assetId)
          name: Fireblocks SDK Javascript example
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<ExternalWalletAsset>> = fireblocks.externalWallets.getExternalWalletAsset(externalWalletsApiGetExternalWalletAssetRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<ExternalWalletAsset>> response = fireblocks.externalWallets().getExternalWalletAsset(walletId, assetId);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.external_wallets.get_external_wallet_asset(wallet_id, asset_id);
          name: Fireblocks SDK Python example
      parameters:
      - in: path
        name: walletId
        required: true
        description: The ID of the wallet
        schema:
          type: string
      - in: path
        name: assetId
        required: true
        description: The ID of the asset to return
        schema:
          type: string
          x-fb-entity: asset
      responses:
        '200':
          description: A Wallet Asset object
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalWalletAsset'
        default:
          $ref: '#/components/responses/Error'
      operationId: getExternalWalletAsset
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<ExternalWalletAsset>> = fireblocks.externalWallets.getExternalWalletAsset(externalWalletsApiGetExternalWalletAssetRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<ExternalWalletAsset>> response = fireblocks.externalWallets().getExternalWalletAsset(walletId, assetId);
      - lang: Python
        source: response = fireblocks.external_wallets.get_external_wallet_asset(wallet_id, asset_id);
    post:
      summary: Add an asset to an external wallet.
      description: 'Adds an asset to an existing external wallet.

        </br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.'
      tags:
      - Whitelisted External Wallets
      x-readme:
        code-samples:
        - language: javascript
          code: const externalWalletAsset = await fireblocks.createExternalWalletAsset(walletContainerId, assetId, address, tag);
          name: Fireblocks SDK Javascript example
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<ExternalWalletAsset>> = fireblocks.externalWallets.addAssetToExternalWallet(externalWalletsApiAddAssetToExternalWalletRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<ExternalWalletAsset>> response = fireblocks.externalWallets().addAssetToExternalWallet(walletId, assetId, addAssetToExternalWalletRequest, idempotencyKey);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.external_wallets.add_asset_to_external_wallet(wallet_id, asset_id, add_asset_to_external_wallet_request, idempotency_key);
          name: Fireblocks SDK Python example
      parameters:
      - in: path
        name: walletId
        required: true
        description: The ID of the wallet
        schema:
          type: string
      - in: path
        name: assetId
        required: true
        description: The ID of the asset to add
        schema:
          type: string
          x-fb-entity: asset
      - $ref: '#/components/parameters/X-Idempotency-Key'
      responses:
        '200':
          description: A Wallet Asset object
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalWalletAsset'
        default:
          $ref: '#/components/responses/Error'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddAssetToExternalWalletRequest'
      operationId: addAssetToExternalWallet
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<ExternalWalletAsset>> = fireblocks.externalWallets.addAssetToExternalWallet(externalWalletsApiAddAssetToExternalWalletRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<ExternalWalletAsset>> response = fireblocks.externalWallets().addAssetToExternalWallet(walletId, assetId, addAssetToExternalWalletRequest, idempotencyKey);
      - lang: Python
        source: response = fireblocks.external_wallets.add_asset_to_external_wallet(wallet_id, asset_id, add_asset_to_external_wallet_request, idempotency_key);
    delete:
      summary: Delete an asset from an external wallet
      description: 'Deletes an external wallet asset by ID.

        </br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.'
      tags:
      - Whitelisted External Wallets
      x-readme:
        code-samples:
        - language: javascript
          code: const result = await fireblocks.deleteExternalWalletAsset(walletId, assetId);
          name: Fireblocks SDK Javascript example
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<void>> = fireblocks.externalWallets.removeAssetFromExternalWallet(externalWalletsApiRemoveAssetFromExternalWalletRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<Void>> response = fireblocks.externalWallets().removeAssetFromExternalWallet(walletId, assetId);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.external_wallets.remove_asset_from_external_wallet(wallet_id, asset_id);
          name: Fireblocks SDK Python example
      parameters:
      - in: path
        name: walletId
        required: true
        description: The ID of the wallet
        schema:
          type: string
      - in: path
        name: assetId
        required: true
        description: The ID of the asset to delete
        schema:
          type: string
          x-fb-entity: asset
      responses:
        '201':
          description: OK
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
        default:
          $ref: '#/components/responses/Error'
      operationId: removeAssetFromExternalWallet
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<void>> = fireblocks.externalWallets.removeAssetFromExternalWallet(externalWalletsApiRemoveAssetFromExternalWalletRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<Void>> response = fireblocks.externalWallets().removeAssetFromExternalWallet(walletId, assetId);
      - lang: Python
        source: response = fireblocks.external_wallets.remove_asset_from_external_wallet(wallet_id, asset_id);
components:
  schemas:
    CreateWalletRequest:
      type: object
      properties:
        name:
          type: string
          description: the wallet's display name
        customerRefId:
          description: Optional - Sets a customer reference ID
          type: string
    WalletAssetAdditionalInfo:
      type: object
      properties:
        accountHolderGivenName:
          type: string
        accountHolderSurname:
          type: string
        accountHolderCity:
          type: string
        accountHolderCountry:
          type: string
        accountHolderAddress1:
          type: string
        accountHolderAddress2:
          type: string
        accountHolderDistrict:
          type: string
        accountHolderPostalCode:
          type: string
        abaRoutingNumber:
          type: string
        abaAccountNumber:
          type: string
        abaCountry:
          type: string
        iban:
          type: string
        ibanCity:
          type: string
        ibanCountry:
          type: string
        speiClabe:
          type: string
        speiName:
          type: string
    AddAssetToExternalWalletRequest:
      oneOf:
      - $ref: '#/components/schemas/BasicAddressRequest'
      - $ref: '#/components/schemas/AdditionalInfoRequest'
    BasicAddressRequest:
      type: object
      description: Basic external wallet request with address information
      properties:
        address:
          type: string
          description: The external wallet's address (or its xpub)
          example: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
        tag:
          type: string
          description: '- For XRP wallets, the destination tag.

            - For EOS/XLM wallets, the memo.

            - For fiat providers, the Bank Transfer Description.

            '
          example: '12345'
      required:
      - address
    MomoPaymentInfo:
      type: object
      description: Mobile Money (MOMO) payment information for African mobile payment services
      properties:
        rail:
          type: string
          enum:
          - MOMO
          description: The payment rail type for mobile money transfers
          example: MOMO
        addressingSystem:
          type: string
          enum:
          - MOMO
          description: The addressing system used for mobile money transfers
          example: MOMO
        accountHolderGivenName:
          type: string
          description: The given name (first name) of the account holder
          example: Kwame
        accountHolderSurname:
          type: string
          description: The surname (last name) of the account holder
          example: Asante
        country:
          type: string
          description: The country for the transfer (ISO 3166-1 alpha-2 code)
          example: GH
        mobilePhoneNumber:
          type: string
          description: The mobile phone number associated with the mobile money account
          example: '+233241234567'
        provider:
          type: string
          enum:
          - M_PESA
          - AIRTEL
          - MTN
          - TIGO
          description: The mobile money service provider
          example: MTN
        beneficiaryDocumentId:
          type: string
          description: The document ID of the beneficiary
          example: GHA-123456789-0
        beneficiaryRelationship:
          type: string
          description: The relationship between sender and beneficiary
          example: Family
      required:
      - rail
      - addressingSystem
      - accountHolderGivenName
      - accountHolderSurname
      - country
      - mobilePhoneNumber
      - provider
    WalletAsset:
      type: object
      properties:
        id:
          type: string
        balance:
          type: string
        lockedAmount:
          type: string
        status:
          $ref: '#/components/schemas/ConfigChangeRequestStatus'
        address:
          type: string
        tag:
          type: string
        activationTime:
          type: string
    AdditionalInfoRequest:
      type: object
      description: External wallet request with additional payment information for various payment rails
      properties:
        additionalInfo:
          type: object
          description: Additional payment information based on the payment rail type
          oneOf:
          - $ref: '#/components/schemas/IbanPaymentInfo'
          - $ref: '#/components/schemas/AbaPaymentInfo'
          - $ref: '#/components/schemas/SpeiBasicPaymentInfo'
          - $ref: '#/components/schemas/SpeiAdvancedPaymentInfo'
          - $ref: '#/components/schemas/PixPaymentInfo'
          - $ref: '#/components/schemas/SepaPaymentInfo'
          - $ref: '#/components/schemas/AchPaymentInfo'
          - $ref: '#/components/schemas/UsWirePaymentInfo'
          - $ref: '#/components/schemas/MomoPaymentInfo'
          - $ref: '#/components/schemas/LbtPaymentInfo'
      required:
      - additionalInfo
    PixPaymentInfo:
      type: object
      description: PIX payment information for Brazilian instant payments
      properties:
        rail:
          type: string
          enum:
          - PIX
          description: The payment rail type for PIX transfers
          example: PIX
        addressingSystem:
          type: string
          enum:
          - PIX
          description: The addressing system used for PIX transfers
          example: PIX
        accountHolderGivenName:
          type: string
          description: The given name (first name) of the account holder
          example: João
        accountHolderSurname:
          type: string
          description: The surname (last name) of the account holder
          example: Silva
        country:
          type: string
          description: The country for the transfer (ISO 3166-1 alpha-2 code)
          example: BR
        pixKey:
          type: string
          description: The PIX key used for the transfer
          example: joao.silva@email.com
        bankName:
          type: string
          description: The name of the bank
          example: Banco do Brasil
        bankCode:
          type: string
          description: The bank code (ISPB - Identificador do Sistema de Pagamentos Brasileiros)
          example: '00000000'
        keyType:
          type: string
          enum:
          - CPF
          - CNPJ
          - EMAIL
          - PHONE
          - RANDOM
          description: The type of PIX key being used
          example: EMAIL
      required:
      - rail
      - addressingSystem
      - accountHolderGivenName
      - accountHolderSurname
      - country
      - pixKey
      - keyType
    ConfigChangeRequestStatus:
      type: string
      enum:
      - WAITING_FOR_APPROVAL
      - APPROVED
      - CANCELLED
      - REJECTED
      - FAILED
    AbaPaymentInfo:
      type: object
      description: ABA payment information for US bank transfers
      properties:
        accountHolderGivenName:
          type: string
          description: The given name (first name) of the account holder
          example: John
        accountHolderSurname:
          type: string
          description: The surname (last name) of the account holder
          example: Doe
        accountHolderCity:
          type: string
          description: The city where the account holder resides
          example: New York
        accountHolderCountry:
          type: string
          description: The country where the account holder resides (ISO 3166-1 alpha-2 code)
          example: US
        accountHolderAddress1:
          type: string
          description: The primary address line of the account holder
          example: 123 Wall Street
        accountHolderAddress2:
          type: string
          description: The secondary address line of the account holder (optional)
          example: Suite 100
        accountHolderDistrict:
          type: string
          description: The district or region where the account holder resides
          example: Manhattan
        accountHolderPostalCode:
          type: string
          description: The postal code of the account holder's address
          example: '10005'
        abaRoutingNumber:
          type: string
          description: The ABA routing number for the bank
          example: '021000021'
        abaAccountNumber:
          type: string
          description: The account number at the bank
          example: '1234567890'
        abaCountry:
          type: string
          description: The country for the ABA transfer (ISO 3166-1 alpha-2 code)
          example: US
      required:
      - accountHolderGivenName
      - accountHolderCity
      - accountHolderCountry
      - accountHolderAddress1
      - accountHolderPostalCode
      - abaRoutingNumber
      - abaAccountNumber
      - abaCountry
    UnmanagedWallet:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        customerRefId:
          type: string
        assets:
          type: array
          items:
            $ref: '#/components/schemas/WalletAsset'
      required:
      - id
      - name
      - assets
    SpeiBasicPaymentInfo:
      type: object
      description: Basic SPEI payment information for Mexican bank transfers
      properties:
        speiClabe:
          type: string
          description: The CLABE (Clave Bancaria Estandarizada) number for SPEI transfers
          example: 012180001234567890
        speiName:
          type: string
          description: The name associated with the SPEI account
          example: Juan Pérez
      required:
      - speiClabe
    AchPaymentInfo:
      type: object
      description: ACH payment information for US Automated Clearing House transfers
      properties:
        rail:
          type: string
          enum:
          - ACH
          description: The payment rail type for ACH transfers
          example: ACH
        addressingSystem:
          type: string
          enum:
          - ACH
          description: The addressing system used for ACH transfers
          example: ACH
        accountHolderGivenName:
          type: string
          description: The given name (first name) of the account holder
          example: John
        accountHolderSurname:
          type: string
          description: The surname (last name) of the account holder
          example: Smith
        country:
          type: string
          description: The country for the transfer (ISO 3166-1 alpha-2 code)
          example: US
        accountNumber:
          type: string
          description: The bank account number
          example: '1234567890'
        routingNumber:
          type: string
          description: The bank routing number (ABA routing number)
          example: '021000021'
        accountType:
          type: string
          enum:
          - CHECKING
          - SAVINGS
          description: The type of bank account
          example: CHECKING
      required:
      - rail
      - addressingSystem
      - routingNumber
      - accountType
      - accountHolderGivenName
      - accountHolderSurname
      - country
      - accountNumber
    LbtPaymentInfo:
      type: object
      description: LBT (Lebanese Bank Transfer) payment information for Lebanese bank transfers
      properties:
        rail:
          type: string
          enum:
          - LBT
       

# --- truncated at 32 KB (43 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fireblocks/refs/heads/main/openapi/fireblocks-whitelisted-external-wallets-api-openapi.yml