fireblocks Whitelisted External Wallets API

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

OpenAPI Specification

fireblocks-whitelisted-external-wallets-api-openapi.yml Raw ↑
openapi: 3.0.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:
    GetExternalWalletsResponse:
      type: array
      items:
        $ref: '#/components/schemas/UnmanagedWallet'
    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
    SpeiAdvancedPaymentInfo:
      type: object
      description: Advanced SPEI payment information for Mexican bank transfers with full details
      properties:
        rail:
          type: string
          enum:
          - SPEI
          description: The payment rail type for SPEI transfers
          example: SPEI
        addressingSystem:
          type: string
          enum:
          - CLABE
          description: The addressing system used for SPEI transfers
          example: CLABE
        accountHolderGivenName:
          type: string
          description: The given name (first name) of the account holder
          example: Juan
        accountHolderSurname:
          type: string
          description: The surname (last name) of the account holder
          example: Pérez
        country:
          type: string
          description: The country for the transfer (ISO 3166-1 alpha-2 code)
          example: MX
        bankName:
          type: string
          description: The name of the bank
          example: Banco Nacional de México
        beneficiaryRfc:
          type: string
          description: The RFC (Registro Federal de Contribuyentes) of the beneficiary
          example: PERJ800101ABC
        senderDocumentId:
          type: string
          description: The document ID of the sender
          example: CURP123456789
        clabe:
          type: string
          description: The CLABE (Clave Bancaria Estandarizada) number
          example: 012180001234567890
      required:
      - rail
      - addressingSystem
      - accountHolderGivenName
      - accountHolderSurname
      - country
      - clabe
    ExternalWalletAsset:
      type: object
      properties:
        id:
          type: string
        status:
          $ref: '#/components/schemas/ConfigChangeRequestStatus'
        address:
          type: string
        balance:
          type: string
        lockedAmount:
          type: string
        tag:
          type: string
        activationTime:
          type: string
        additionalInfo:
          type: array
          items:
            $ref: '#/components/schemas/WalletAssetAdditionalInfo'
    SepaPaymentInfo:
      type: object
      description: SEPA payment information for European Single Euro Payments Area transfers
      properties:
        rail:
          type: string
          enum:
          - SEPA
          description: The payment rail type for SEPA transfers
          example: SEPA
        addressingSystem:
          type: string
          enum:
          - IBAN
          description: The addressing system used for SEPA transfers
          example: IBAN
        accountHolderGivenName:
          type: string
          description: The given name (first name) of the account holder
          example: Marie
        accountHolderSurname:
          type: string
          description: The surname (last name) of the account holder
          example: Dupont
        accountHolderCountry:
          type: string
          description: The country where the account holder resides (ISO 3166-1 alpha-2 code)
          example: FR
        accountHolderAddress:
          type: string
          description: The address of the account holder
          example: 123 Rue de la Paix
        iban:
          type: string
          description: The International Bank Account Number (IBAN)
          example: FR1420041010050500013M02606
        country:
          type: string
          description: The country for the transfer (ISO 3166-1 alpha-2 code)
          example: FR
        bic:
          type: string
          description: The Bank Identifier Code (BIC/SWIFT code)
          example: BNPAFRPP
        bankName:
          type: string
          description: The name of the bank
          example: BNP Paribas
        bankBranch:
          type: string
          description: The bank branch information
          example: Paris Central
        bankAddress:
          type: string
          description: The address of the bank
          example: 16 Boulevard des Italiens, 75009 Paris
        purposeCode:
          type: string
          description: The purpose code for the transfer
          example: SALA
        taxId:
          type: string
          description: The tax identification number
          example: '1234567890123'
      required:
      - rail
      - addressingSystem
      - accountHolderGivenName
      - accountHolderSurname
      - country
      - iban
    ConfigChangeRequestStatus:
      type: string
      enum:
      - WAITING_FOR_APPROVAL
      - APPROVED
      - CANCELLED
      - REJECTED
      - FAILED
    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
    AddAssetToExternalWalletRequest:
      oneOf:
      - $ref: '#/components/schemas/BasicAddressRequest'
      - $ref: '#/components/schemas/AdditionalInfoRequest'
    CreateWalletRequest:
      type: object
      properties:
        name:
          type: string
          description: the wallet's display name
        customerRefId:
          description: Optional - Sets a customer reference ID
          type: string
    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
    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
    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
    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
    LbtPaymentInfo:
      type: object
      description: LBT (Lebanese Bank Transfer) payment information for Lebanese bank transfers
      properties:
        rail:
          type: string
          enum:
          - LBT
          description: The payment rail type for Lebanese bank transfers
          ex

# --- 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