fireblocks Exchange Accounts API

The Exchange Accounts API from fireblocks — 7 operation(s) for exchange accounts.

Operations 8

GET /exchange_accounts List exchange accounts #
POST /exchange_accounts Add an exchange account #
GET /exchange_accounts/{exchangeAccountId} Get a specific exchange account #
GET /exchange_accounts/{exchangeAccountId}/{assetId} Get an asset for an exchange account #
POST /exchange_accounts/{exchangeAccountId}/convert Convert exchange account funds #
POST /exchange_accounts/{exchangeAccountId}/internal_transfer Internal transfer for exchange accounts #
GET /exchange_accounts/credentials_public_key Get public key to encrypt exchange credentials #
GET /exchange_accounts/paged List connected exchange accounts #

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:fireblocks-exchange-accounts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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-exchange-accounts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fireblocks Exchange accounts 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

    - Visit our developer docs: Fireblocks DevPortal'
  version: 1.6.2
  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
tags:
- name: Exchange accounts
paths:
  /exchange_accounts:
    get:
      x-internal: true
      deprecated: true
      summary: List exchange accounts
      description: 'DEPRECATED - Please use the `/exchange_accounts/paged` endpoint.

        Endpoint Permission: Admin, Non-Signing Admin.'
      tags:
      - Exchange accounts
      x-rate-limit-category: high_compute
      x-readme:
        code-samples:
        - language: python
          code: exchangeAccounts = fireblocks.get_exchange_accounts()
          name: Fireblocks SDK Python example (Legacy)
        - language: javascript
          code: const exchangeAccounts = await fireblocks.getExchangeAccounts();
          name: Fireblocks SDK Javascript example
      responses:
        '200':
          description: An ExchangeAccount object
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetExchangeAccountsResponse'
        default:
          $ref: '#/components/responses/Error'
      operationId: getExchangeAccounts
    post:
      summary: Add an exchange account
      operationId: addExchangeAccount
      description: 'Add an exchange account to exchanges.


        Note: This endpoint currently only supports the following exchanges `INDEPENDENT_RESERVE`,`BIT`, `BITHUMB`, `BITSO`, `CRYPTOCOM`, `BYBIT_V2`, `WHITEBIT`, `HITBTC`, `GEMINI`, `HUOBI`, `GATEIO`, `COINHAKO`, `BULLISH`, `BITGET`, and `LUNO`


        To add an exchange account, please use the following guide.'
      tags:
      - Exchange accounts
      x-rate-limit-category: write
      x-readme:
        code-samples:
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<AddExchangeAccountResponse>> = fireblocks.exchangeAccounts.addExchangeAccount(exchangeAccountsApiAddExchangeAccountRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<AddExchangeAccountResponse>> response = fireblocks.exchangeAccounts().addExchangeAccount(addExchangeAccountRequest, idempotencyKey);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.exchange_accounts.add_exchange_account(add_exchange_account_request, idempotency_key);
          name: Fireblocks SDK Python example
      parameters:
      - $ref: '#/components/parameters/X-Idempotency-Key'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddExchangeAccountRequest'
      responses:
        '201':
          description: An Exchange Account identifier object
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddExchangeAccountResponse'
        default:
          $ref: '#/components/responses/Error'
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<AddExchangeAccountResponse>> = fireblocks.exchangeAccounts.addExchangeAccount(exchangeAccountsApiAddExchangeAccountRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<AddExchangeAccountResponse>> response = fireblocks.exchangeAccounts().addExchangeAccount(addExchangeAccountRequest, idempotencyKey);
      - lang: Python
        source: response = fireblocks.exchange_accounts.add_exchange_account(add_exchange_account_request, idempotency_key);
  /exchange_accounts/{exchangeAccountId}:
    get:
      summary: Get a specific exchange account
      description: 'Returns an exchange account by ID.

        Endpoint Permission: Admin, Non-Signing Admin.'
      tags:
      - Exchange accounts
      x-rate-limit-category: external_query
      x-readme:
        code-samples:
        - language: python
          code: exchangeAccount = fireblocks.get_exchange_account(exchangeAccountId)
          name: Fireblocks SDK Python example (Legacy)
        - language: javascript
          code: const exchnageAccount = await fireblocks.get_exchange_account(exchangeAccountId);
          name: Fireblocks SDK Javascript example
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<ExchangeAccount>> = fireblocks.exchangeAccounts.getExchangeAccount(exchangeAccountsApiGetExchangeAccountRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<ExchangeAccount>> response = fireblocks.exchangeAccounts().getExchangeAccount(exchangeAccountId);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.exchange_accounts.get_exchange_account(exchange_account_id);
          name: Fireblocks SDK Python example
      parameters:
      - in: path
        name: exchangeAccountId
        required: true
        description: The ID of the exchange account to return
        schema:
          type: string
      responses:
        '200':
          description: An ExchangeAccount object
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExchangeAccount'
        default:
          $ref: '#/components/responses/Error'
      operationId: getExchangeAccount
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<ExchangeAccount>> = fireblocks.exchangeAccounts.getExchangeAccount(exchangeAccountsApiGetExchangeAccountRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<ExchangeAccount>> response = fireblocks.exchangeAccounts().getExchangeAccount(exchangeAccountId);
      - lang: Python
        source: response = fireblocks.exchange_accounts.get_exchange_account(exchange_account_id);
  /exchange_accounts/{exchangeAccountId}/{assetId}:
    get:
      summary: Get an asset for an exchange account
      description: 'Returns an asset for an exchange account.

        Endpoint Permission: Admin, Non-Signing Admin.'
      tags:
      - Exchange accounts
      x-rate-limit-category: external_query
      x-readme:
        code-samples:
        - language: python
          code: exchangeAsset = fireblocks.get_exchange_account_asset(exchangeAccountId, assetId)
          name: Fireblocks SDK Python example (Legacy)
        - language: javascript
          code: const exchangeAsset = await fireblocks.getExchangeAsset(exchangeAccountId, assetId);
          name: Fireblocks SDK Javascript example
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<ExchangeAsset>> = fireblocks.exchangeAccounts.getExchangeAccountAsset(exchangeAccountsApiGetExchangeAccountAssetRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<ExchangeAsset>> response = fireblocks.exchangeAccounts().getExchangeAccountAsset(exchangeAccountId, assetId);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.exchange_accounts.get_exchange_account_asset(exchange_account_id, asset_id);
          name: Fireblocks SDK Python example
      parameters:
      - in: path
        name: exchangeAccountId
        required: true
        description: The ID of the exchange account to return
        schema:
          type: string
      - in: path
        name: assetId
        required: true
        description: The ID of the asset to return
        schema:
          type: string
      responses:
        '200':
          description: An ExchangeAccountAsset object
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExchangeAsset'
        default:
          $ref: '#/components/responses/Error'
      operationId: getExchangeAccountAsset
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<ExchangeAsset>> = fireblocks.exchangeAccounts.getExchangeAccountAsset(exchangeAccountsApiGetExchangeAccountAssetRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<ExchangeAsset>> response = fireblocks.exchangeAccounts().getExchangeAccountAsset(exchangeAccountId, assetId);
      - lang: Python
        source: response = fireblocks.exchange_accounts.get_exchange_account_asset(exchange_account_id, asset_id);
  /exchange_accounts/{exchangeAccountId}/convert:
    post:
      summary: Convert exchange account funds
      description: 'Convert exchange account funds from the source asset to the destination asset. Coinbase (USD to USDC, USDC to USD) and Bitso (MXN to USD) are supported conversions.

        Learn more about Fireblocks Exchange Connectivity in the following guide.

        Endpoint Permission: Admin, Non-Signing Admin.'
      tags:
      - Exchange accounts
      x-rate-limit-category: write
      parameters:
      - in: path
        name: exchangeAccountId
        required: true
        description: The ID of the exchange account. Please make sure the exchange supports conversions. To find the ID of your exchange account, use GET/exchange_accounts.
        schema:
          type: string
      - $ref: '#/components/parameters/X-Idempotency-Key'
      responses:
        '200':
          description: Conversion successful
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConvertAssetsResponse'
        default:
          $ref: '#/components/responses/Error'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConvertAssetsRequest'
      operationId: convertAssets
      x-readme:
        code-samples:
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<ConvertAssetsResponse>> = fireblocks.exchangeAccounts.convertAssets(exchangeAccountsApiConvertAssetsRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<ConvertAssetsResponse>> response = fireblocks.exchangeAccounts().convertAssets(exchangeAccountId, convertAssetsRequest, idempotencyKey);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.exchange_accounts.convert_assets(exchange_account_id, convert_assets_request, idempotency_key);
          name: Fireblocks SDK Python example
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<ConvertAssetsResponse>> = fireblocks.exchangeAccounts.convertAssets(exchangeAccountsApiConvertAssetsRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<ConvertAssetsResponse>> response = fireblocks.exchangeAccounts().convertAssets(exchangeAccountId, convertAssetsRequest, idempotencyKey);
      - lang: Python
        source: response = fireblocks.exchange_accounts.convert_assets(exchange_account_id, convert_assets_request, idempotency_key);
  /exchange_accounts/{exchangeAccountId}/internal_transfer:
    post:
      summary: Internal transfer for exchange accounts
      description: 'Transfers funds between trading accounts under the same exchange account.

        Learn more about Fireblocks Exchange Connectivity in the following guide.

        Endpoint Permission: Admin, Non-Signing Admin.'
      tags:
      - Exchange accounts
      x-rate-limit-category: high_compute
      parameters:
      - in: path
        name: exchangeAccountId
        required: true
        description: The ID of the exchange account to return
        schema:
          type: string
      - $ref: '#/components/parameters/X-Idempotency-Key'
      responses:
        '201':
          description: Transfer succeeded
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalTransferResponse'
        default:
          $ref: '#/components/responses/Error'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateInternalTransferRequest'
      operationId: internalTransfer
      x-readme:
        code-samples:
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<InternalTransferResponse>> = fireblocks.exchangeAccounts.internalTransfer(exchangeAccountsApiInternalTransferRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<InternalTransferResponse>> response = fireblocks.exchangeAccounts().internalTransfer(exchangeAccountId, createInternalTransferRequest, idempotencyKey);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.exchange_accounts.internal_transfer(exchange_account_id, create_internal_transfer_request, idempotency_key);
          name: Fireblocks SDK Python example
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<InternalTransferResponse>> = fireblocks.exchangeAccounts.internalTransfer(exchangeAccountsApiInternalTransferRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<InternalTransferResponse>> response = fireblocks.exchangeAccounts().internalTransfer(exchangeAccountId, createInternalTransferRequest, idempotencyKey);
      - lang: Python
        source: response = fireblocks.exchange_accounts.internal_transfer(exchange_account_id, create_internal_transfer_request, idempotency_key);
  /exchange_accounts/credentials_public_key:
    get:
      summary: Get public key to encrypt exchange credentials
      description: Return public key
      tags:
      - Exchange accounts
      x-rate-limit-category: read
      responses:
        '200':
          description: public key as string
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetExchangeAccountsCredentialsPublicKeyResponse'
        default:
          $ref: '#/components/responses/Error'
      operationId: getExchangeAccountsCredentialsPublicKey
      x-readme:
        code-samples:
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<GetExchangeAccountsCredentialsPublicKeyResponse>> = fireblocks.exchangeAccounts.getExchangeAccountsCredentialsPublicKey();'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<GetExchangeAccountsCredentialsPublicKeyResponse>> response = fireblocks.exchangeAccounts().getExchangeAccountsCredentialsPublicKey();
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.exchange_accounts.get_exchange_accounts_credentials_public_key();
          name: Fireblocks SDK Python example
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<GetExchangeAccountsCredentialsPublicKeyResponse>> = fireblocks.exchangeAccounts.getExchangeAccountsCredentialsPublicKey();'
      - lang: Java
        source: CompletableFuture<ApiResponse<GetExchangeAccountsCredentialsPublicKeyResponse>> response = fireblocks.exchangeAccounts().getExchangeAccountsCredentialsPublicKey();
      - lang: Python
        source: response = fireblocks.exchange_accounts.get_exchange_accounts_credentials_public_key();
  /exchange_accounts/paged:
    get:
      operationId: getPagedExchangeAccounts
      summary: List connected exchange accounts
      description: 'Returns a list of the connected exchange accounts in your workspace. Endpoint Permission: Admin, Non-Signing Admin.'
      tags:
      - Exchange accounts
      x-rate-limit-category: query
      x-readme:
        code-samples:
        - language: javascript
          code: const exchangeAccounts = await fireblocks.getExchangeAccountsPaged();
          name: Fireblocks SDK Javascript example
        - language: python
          code: exchangeAccounts = fireblocks.get_exchange_accounts_paged()
          name: Fireblocks SDK Python example (Legacy)
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<GetPagedExchangeAccountsResponse>> = fireblocks.exchangeAccounts.getPagedExchangeAccounts(exchangeAccountsApiGetPagedExchangeAccountsRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<GetPagedExchangeAccountsResponse>> response = fireblocks.exchangeAccounts().getPagedExchangeAccounts(limit, before, after);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.exchange_accounts.get_paged_exchange_accounts(limit, before, after);
          name: Fireblocks SDK Python example
      parameters:
      - in: query
        name: before
        required: false
        schema:
          type: string
      - in: query
        name: after
        required: false
        schema:
          type: string
      - in: query
        name: limit
        description: number of exchanges per page
        required: true
        schema:
          type: number
          minimum: 1
          maximum: 5
          default: 3
      responses:
        '200':
          description: An ExchangeAccount object
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPagedExchangeAccountsResponse'
        default:
          $ref: '#/components/responses/Error'
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<GetPagedExchangeAccountsResponse>> = fireblocks.exchangeAccounts.getPagedExchangeAccounts(exchangeAccountsApiGetPagedExchangeAccountsRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<GetPagedExchangeAccountsResponse>> response = fireblocks.exchangeAccounts().getPagedExchangeAccounts(limit, before, after);
      - lang: Python
        source: response = fireblocks.exchange_accounts.get_paged_exchange_accounts(limit, before, after);
components:
  parameters:
    X-Idempotency-Key:
      name: Idempotency-Key
      in: header
      description: A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
      required: false
      schema:
        type: string
  schemas:
    ErrorSchema:
      type: object
      properties:
        message:
          type: string
        code:
          type: number
    GetExchangeAccountsCredentialsPublicKeyResponse:
      type: object
      properties:
        publicKey:
          type: string
          description: Public key string
        tenantId:
          type: string
          description: Tenant identifier
      required:
      - publicKey
      - tenantId
    ConvertAssetsResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Indicates whether the conversion was successful
      required:
      - success
    ExchangeTradingAccount:
      type: object
      properties:
        type:
          type: string
        name:
          type: string
        assets:
          type: array
          items:
            $ref: '#/components/schemas/ExchangeAsset'
    AddExchangeAccountRequest:
      type: object
      properties:
        exchangeType:
          $ref: '#/components/schemas/ExchangeType'
        name:
          description: Display name of the exchange account
          type: string
        creds:
          description: Encrypted credentials
          type: string
        key:
          description: Api key of the exchange
          type: string
        mainAccountId:
          description: Optional - main account id of the exchange
          type: string
      required:
      - exchangeType
      - name
    GetPagedExchangeAccountsResponse:
      type: object
      properties:
        exchanges:
          type: array
          items:
            $ref: '#/components/schemas/ExchangeAccount'
        paging:
          type: object
          properties:
            after:
              type: string
              description: Query value to the after page
            before:
              type: string
              description: Query value to the before page
        prevUrl:
          type: string
        nextUrl:
          type: string
      required:
      - exchanges
    ExchangeAccount:
      type: object
      properties:
        id:
          type: string
        type:
          $ref: '#/components/schemas/ExchangeType'
        name:
          type: string
          description: Display name of the exchange account
        status:
          type: string
        assets:
          type: array
          items:
            $ref: '#/components/schemas/ExchangeAsset'
        success:
          type: boolean
          description: Did succeed in retrieve balance data
        tradingAccounts:
          type: array
          items:
            $ref: '#/components/schemas/ExchangeTradingAccount'
        isSubaccount:
          description: True if the account is a subaccount in an exchange
          type: boolean
        mainAccountId:
          description: if the account is a sub-account, the ID of the main account
          type: string
    AddExchangeAccountResponse:
      type: object
      properties:
        id:
          description: Exchange account's identifier
          type: string
        name:
          description: Display name of the exchange account
          type: string
        exchangeType:
          $ref: '#/components/schemas/ExchangeType'
    ConvertAssetsRequest:
      type: object
      properties:
        srcAsset:
          type: string
          description: Name of the source asset (must be in a currency that is supported for conversions in the selected exchange type that corresponds to your exchange ID)
        destAsset:
          type: string
          description: Name of the destination asset (must be in a currency that is supported for conversions in the selected exchange type that corresponds to your exchange ID)
        amount:
          type: number
          description: The amount to transfer (in the currency of the source asset)
      required:
      - srcAsset
      - destAsset
      - amount
    InternalTransferResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Indicates whether the transfer was successful
        id:
          type:
          - string
          - 'null'
          description: The transaction ID of the internal transfer
        status:
          type:
          - string
          - 'null'
          description: The transfer status returned by the transaction manager. Only present when the transfer was processed via the transaction manager flow.
          example: SUCCESS
        systemMessages:
          type:
          - array
          - 'null'
          description: System messages returned by the transaction manager about the health of the transfer being performed. Only present when the transfer was processed via the transaction manager flow.
          example: []
          items:
            $ref: '#/components/schemas/SystemMessageInfo'
      required:
      - success
    ExchangeAsset:
      type: object
      properties:
        id:
          type: string
          deprecated: true
          description: Deprecated. Use assetId or assetLegacyId instead.
        balance:
          type: string
        lockedAmount:
          type: string
        total:
          type: string
        available:
          type: string
        credit:
          type: string
        assetId:
          type: string
          example: 2306088f-97ed-4293-8d28-8ab627f272d7
          description: The Fireblocks asset id. Present only when Fireblocks can identify the exchange asset.
        providerSymbol:
          type: string
          example: BTC
          description: The symbol used by the exchange provider to identify the asset.
        assetSymbol:
          type: string
          example: BTC
          description: The Fireblocks asset symbol. Present only when Fireblocks can identify the exchange asset.
        assetLegacyId:
          type: string
          example: BTC
          description: The Fireblocks legacy asset id. Present only when Fireblocks can identify the exchange asset.
    GetExchangeAccountsResponse:
      type: array
      items:
        $ref: '#/components/schemas/ExchangeAccount'
    CreateInternalTransferRequest:
      type: object
      properties:
        asset:
          type: string
        amount:
          type: string
        sourceType:
          $ref: '#/components/schemas/TradingAccountType'
        destType:
          $ref: '#/components/schemas/TradingAccountType'
      required:
      - asset
      - amount
      - sourceType
      - destType
    ExchangeType:
      description: Exchange account's type
      type: string
      enum:
      - INDEPENDENT_RESERVE
      - ENCLAVE_MARKETS
      - BIT
      - COINFLEX
      - KUCOIN
      - PXS
      - LIQUID
      - BITHUMB
      - BITFINEX
      - BITSO
      - BITSTAMP
      - KRAKEN
      - KRAKENINTL
      - BINANCE
      - BINANCEUS
      - CRYPTOCOM
      - BYBIT_V2
      - COINBASEPRO
      - COINBASEPRIME
      - COINBASEINTERNATIONAL
      - WHITEBIT
      - COINBASEEXCHANGE
      - KORBIT
      - HITBTC
      - GEMINI
      - CIRCLE
      - BITMEX
      - HUOBI
      - DERIBIT
      - OKCOIN_V5
      - OKEX
      - COINMETRO
      - GATEIO
      - SCRYPT
      - COINHAKO
      - LIGHTBIT
      - BULLISH
      - CANVAS_CONNECT
      - BITGET
      - LUNO
      - BIT_GENERA
      - TRANSFERO
    SystemMessageInfo:
      type: object
      properties:
        type:
          type: string
          enum:
          - WARN
          - BLOCK
        message:
          type: string
          description: A response from Fireblocks that communicates a message about the health of the process being performed. If this object is returned with data, you should expect potential delays or incomplete transaction statuses.
          example: Slow transaction processing. Outgoing transactions might be stuck.
    TradingAccountType:
      type: string
      enum:
      - COIN_FUTURES
      - COIN_MARGINED_SWAP
      - EXCHANGE
      - FUNDING
      - FUNDABLE
      - FUTURES
      - FUTURES_CROSS
      - MARGIN
      - MARGIN_CROSS
      - OPTIONS
      - SPOT
      - USDT_MARGINED_SWAP_CROSS
      - USDT_FUTURES
      - UNIFIED
      - INTERNAL_BALANCE_1
      - INTERNAL_BALANCE_2
      - INTERNAL_BALANCE_3
      - INTERNAL_BALANCE_4
      - INTERNAL_BALANCE_5
      - INTERNAL_BALANCE_6
      - INTERNAL_BALANCE_7
      - INTERNAL_BALANCE_8
      - INTERNAL_BALANCE_9
      - INTERNAL_BALANCE_10
      - INTERNAL_BALANCE_11
  headers:
    X-Request-ID:
      schema:
        type: string
      description: Unique ID correlated to the API request. Please provide it in any support ticket you create or on Github issues related to Fireblocks SDKs
  responses:
    Error:
      description: Error Response
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorSchema'
  securitySchemes:
    bearerTokenAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
x-readme:
  explorer-enabled: false
  samples-languages:
  - curl
  - javascript
  - python
x-provenance:
  method: harvested
  publisher: Fireblocks
  source: https://swagger.fireblocks.com/openapi.yaml
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)