Fireblocks Exchange and Fiat Accounts API

Connect, read, and trade across exchange accounts and fiat (DDA) accounts. Manage exchange sub-accounts, perform internal exchange transfers, convert between assets, read manifests of trading pairs, fetch rates and balances, and surface Connected Accounts (Beta) and Trading (Beta) quotes/orders.

OpenAPI Specification

fireblocks-exchange-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Fireblocks Exchange and Fiat 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](https://fireblocks.com)

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

    '
  version: 1.8.0
  contact:
    email: [email protected]
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: []
paths:
  /exchange_accounts:
    get:
      x-internal: true
      deprecated: true
      summary: List exchange accounts
      description: 'DEPRECATED - Please use the `/exchange_accounts/paged` endpoint.

        </br>Endpoint Permission: Admin, Non-Signing Admin.'
      tags:
      - Exchange Accounts
      x-readme:
        code-samples:
        - 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
      x-codeSamples:
      - lang: python
        label: Python
        source: exchangeAccounts = fireblocks.get_exchange_accounts()
      - lang: javascript
        label: Javascript
        source: const exchangeAccounts = await fireblocks.getExchangeAccounts();
    post:
      summary: Add an Exchange Account
      operationId: addExchangeAccount
      description: "Add an exchange account to exchanges. \n\nNote: 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`\n\nTo add an exchange account, please use the following [guide](https://developers.fireblocks.com/docs/add-an-exchange-account).\n"
      tags:
      - Exchange Accounts
      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/paged:
    get:
      operationId: getPagedExchangeAccounts
      summary: List connected exchange accounts
      description: 'Returns a list of the connected exchange accounts in your workspace.

        </br>Endpoint Permission: Admin, Non-Signing Admin.'
      tags:
      - Exchange Accounts
      x-readme:
        code-samples:
        - language: javascript
          code: const exchangeAccounts = await fireblocks.getExchangeAccountsPaged();
          name: Fireblocks SDK Javascript example
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<GetPagedExchangeAccountsResponse>> = fireblocks.exchangeAccounts.getPagedExchangeAccounts(exchangeAccountsApiGetPagedExchangeAccountsRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<List<ExchangeAccountsPaged>>> 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<List<ExchangeAccountsPaged>>> response = fireblocks.exchangeAccounts().getPagedExchangeAccounts(limit,
          before, after);
      - lang: Python
        source: response = fireblocks.exchange_accounts.get_paged_exchange_accounts(limit, before, after);
  /exchange_accounts/{exchangeAccountId}:
    get:
      summary: Get a specific exchange account
      description: 'Returns an exchange account by ID.

        </br>Endpoint Permission: Admin, Non-Signing Admin.'
      tags:
      - Exchange Accounts
      x-readme:
        code-samples:
        - 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}/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](https://developers.fireblocks.com/docs/connect-to-exchanges-and-fiat-providers).

        </br>Endpoint Permission: Admin, Non-Signing Admin.'
      tags:
      - Exchange Accounts
      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/{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](https://developers.fireblocks.com/docs/connect-to-exchanges-and-fiat-providers).

        </br>Endpoint Permission: Admin, Non-Signing Admin.'
      tags:
      - Exchange Accounts
      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}/{assetId}:
    get:
      summary: Get an asset for an exchange account
      description: 'Returns an asset for an exchange account.

        </br>Endpoint Permission: Admin, Non-Signing Admin.'
      tags:
      - Exchange Accounts
      x-readme:
        code-samples:
        - 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/credentials_public_key:
    get:
      x-internal: true
      summary: Get public key to encrypt exchange credentials
      description: Return public key
      tags:
      - Exchange Accounts
      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
  /fiat_accounts:
    get:
      summary: List fiat accounts
      description: 'Returns all fiat accounts.

        </br>Endpoint Permission: Admin, Non-Signing Admin.'
      tags:
      - Fiat Accounts
      x-readme:
        code-samples:
        - language: javascript
          code: const transactions = await fireblocks.getFiatAccounts();
          name: Fireblocks SDK Javascript example
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<GetFiatAccountsResponse>> = fireblocks.fiatAccounts.getFiatAccounts();'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<List<FiatAccount>>> response = fireblocks.fiatAccounts().getFiatAccounts();
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.fiat_accounts.get_fiat_accounts();
          name: Fireblocks SDK Python example
      responses:
        '200':
          description: A fiat account object
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetFiatAccountsResponse'
        default:
          $ref: '#/components/responses/Error'
      operationId: getFiatAccounts
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<GetFiatAccountsResponse>> = fireblocks.fiatAccounts.getFiatAccounts();'
      - lang: Java
        source: CompletableFuture<ApiResponse<List<FiatAccount>>> response = fireblocks.fiatAccounts().getFiatAccounts();
      - lang: Python
        source: response = fireblocks.fiat_accounts.get_fiat_accounts();
  /fiat_accounts/{accountId}:
    get:
      summary: Find a specific fiat account
      description: 'Returns a fiat account by ID.

        </br>Endpoint Permission: Admin, Non-Signing Admin.'
      tags:
      - Fiat Accounts
      x-readme:
        code-samples:
        - language: javascript
          code: const transactions = await fireblocks.getFiatAccountById(accountId);
          name: Fireblocks SDK Javascript example
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<FiatAccount>> = fireblocks.fiatAccounts.getFiatAccount(fiatAccountsApiGetFiatAccountRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<FiatAccount>> response = fireblocks.fiatAccounts().getFiatAccount(accountId);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.fiat_accounts.get_fiat_account(account_id);
          name: Fireblocks SDK Python example
      parameters:
      - in: path
        name: accountId
        required: true
        description: The ID of the fiat account to return
        schema:
          type: string
      responses:
        '200':
          description: A fiat account object
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FiatAccount'
        default:
          $ref: '#/components/responses/Error'
      operationId: getFiatAccount
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<FiatAccount>> = fireblocks.fiatAccounts.getFiatAccount(fiatAccountsApiGetFiatAccountRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<FiatAccount>> response = fireblocks.fiatAccounts().getFiatAccount(accountId);
      - lang: Python
        source: response = fireblocks.fiat_accounts.get_fiat_account(account_id);
  /fiat_accounts/{accountId}/redeem_to_linked_dda:
    post:
      summary: Redeem funds to DDA
      description: 'Redeems funds to the linked DDA.

        Learn more about Fireblocks FIAT Connectivity in the following [guide](https://developers.fireblocks.com/docs/connect-to-exchanges-and-fiat-providers).

        </br>Endpoint Permission: Admin, Non-Signing Admin.'
      tags:
      - Fiat Accounts
      x-readme:
        code-samples:
        - language: javascript
          code: const transactions = await fireblocks.redeemToLinkedDDA(accountId, amount);
          name: Fireblocks SDK Javascript example
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<RedeemFundsToLinkedDDAResponse>> = fireblocks.fiatAccounts.redeemFundsToLinkedDDA(fiatAccountsApiRedeemFundsToLinkedDDARequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<RedeemFundsToLinkedDDAResponse>> response = fireblocks.fiatAccounts().redeemFundsToLinkedDDA(accountId,
            funds, idempotencyKey);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.fiat_accounts.redeem_funds_to_linked_d_d_a(account_id, funds, idempotency_key);
          name: Fireblocks SDK Python example
      parameters:
      - in: path
        name: accountId
        required: true
        description: The ID of the fiat account to use
        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/RedeemFundsToLinkedDDAResponse'
        default:
          $ref: '#/components/responses/Error'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Funds'
      operationId: redeemFundsToLinkedDDA
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<RedeemFundsToLinkedDDAResponse>> = fireblocks.fiatAccounts.redeemFundsToLinkedDDA(fiatAccountsApiRedeemFundsToLinkedDDARequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<RedeemFundsToLinkedDDAResponse>> response = fireblocks.fiatAccounts().redeemFundsToLinkedDDA(accountId,
          funds, idempotencyKey);
      - lang: Python
        source: response = fireblocks.fiat_accounts.redeem_funds_to_linked_d_d_a(account_id, funds, idempotency_key);
  /fiat_accounts/{accountId}/deposit_from_linked_dda:
    post:
      summary: Deposit funds from DDA
      description: 'Deposits funds from the linked DDA.

        Learn more about Fireblocks FIAT Connectivity in the following [guide](https://developers.fireblocks.com/docs/connect-to-exchanges-and-fiat-providers).

        </br>Endpoint Permission: Admin, Non-Signing Admin.'
      tags:
      - Fiat Accounts
      x-readme:
        code-samples:
        - language: javascript
          code: const transactions = await fireblocks.depositFromLinkedDDA(accountId, amount);
          name: Fireblocks SDK Javascript example
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<DepositFundsFromLinkedDDAResponse>> = fireblocks.fiatAccounts.depositFundsFromLinkedDDA(fiatAccountsApiDepositFundsFromLinkedDDARequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<DepositFundsFromLinkedDDAResponse>> response = fireblocks.fiatAccounts().depositFundsFromLinkedDDA(accountId,
            funds, idempotencyKey);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.fiat_accounts.deposit_funds_from_linked_d_d_a(account_id, funds, idempotency_key);
          name: Fireblocks SDK Python example
      parameters:
      - in: path
        name: accountId
        required: true
        description: The ID of the fiat account to use
        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/DepositFundsFromLinkedDDAResponse'
        default:
          $ref: '#/components/responses/Error'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Funds'
      operationId: depositFundsFromLinkedDDA
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<DepositFundsFromLinkedDDAResponse>> = fireblocks.fiatAccounts.depositFundsFromLinkedDDA(fiatAccountsApiDepositFundsFromLinkedDDARequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<DepositFundsFromLinkedDDAResponse>> response = fireblocks.fiatAccounts().depositFundsFromLinkedDDA(accountId,
          funds, idempotencyKey);
      - lang: Python
        source: response = fireblocks.fiat_accounts.deposit_funds_from_linked_d_d_a(account_id, funds, idempotency_key);
  /connected_accounts:
    get:
      summary: Get connected accounts
      description: 'Returns all connected accounts.


        **Note:** This endpoint is currently in beta and might be subject to changes.

        '
      tags:
      - Connected Accounts (Beta)
      x-rate-limit-category: query
      parameters:
      - name: mainAccounts
        in: query
        required: false
        description: Whether to include only main accounts in the response.
        schema:
          type: boolean
          default: false
      - name: pageSize
        in: query
        required: false
        description: Page size for pagination.
        schema:
          type: integer
          minimum: 1
          maximum: 100
      - name: pageCursor
        in: query
        required: false
        description: Page cursor for pagination.
        schema:
          type: string
      operationId: getConnectedAccounts
      responses:
        200:
          description: Get accounts response
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectedAccountsResponse'
        default:
          $ref: '#/components/responses/Error'
  /connected_accounts/{accountId}:
    get:
      tags:
      - Connected Accounts (Beta)
      x-rate-limit-category: read
      parameters:
      - name: accountId
        in: path
        required: true
        description: The ID of the account to fetch.
        schema:
          type: string
          minLength: 1
      summary: Get connected account
      description: 'Retrieve detailed information about a specific connected account by ID.


        **Note:** This endpoint is currently in beta and might be subject to changes.

        '
      operationId: getConnectedAccount
      responses:
        200:
          description: Account response
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectedSingleAccountResponse'
        default:
          $ref: '#/components/responses/Error'
  /connected_accounts/{accountId}/balances:
    get:
      summary: Get balances for an account
      description: 'Retrieve current asset balances for a specific connected account as a flat list (one row per `assetId`,
        `balanceType`).


        **Note:** This endpoint is currently in beta and might be subject to changes.

        '
      tags:
      - Connected Accounts (Beta)
      x-rate-limit-category: query
      parameters:
      - name: accountId
        in: path
        required: true
        description: The ID of the account to fetch balances for.
        schema:
          type: string
          minLength: 1
      - name: pageSize
        in: query
        required: false
        description: Page size for pagination.
        schema:
          type: integer
          minimum: 1
          maximum: 1000
      - name: pageCursor
        in: query
        required: false
        description: Page cursor for pagination.
        schema:
          type: string
      operationId: getConnectedAccountBalances
      responses:
        200:
          description: Account balances response
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectedAccountBalancesResponse'
        default:
          $ref: '#/components/responses/Error'
  /connected_accounts/{accountId}/rates:
    get:
      summary: Get exchange rates for an account
      description: 'Retrieve current exchange rates for converting between specific assets in a connected account.


        **Note:** This endpoint is currently in beta and might be subject to changes.

        '
      tags:
      - Connected Accounts (Beta)
      x-rate-limit-category: read
      parameters:
      - name: accountId
        in: path
        required: true
        description: The ID of the account to fetch rates for.
        schema:
          type: string
          minLength: 1
      - name: baseAssetId
        in: query
        required: true
        description: The ID of the asset to fetch rates for.
        schema:
          type: string
          minLength: 1
      - name: quoteAssetId
        in: query
        required: true
        description: The ID of the asset to get the rates nominally.
        schema:
          type: string
          minLength: 1
      operationId: getConnectedAccountRates
      responses:
        200:
          description: Rates response
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectedAccountRateResponse'
        default:
          $ref: '#/components/responses/Error'
  /connected_accounts/{accountId}/manifest/capabilities/trading/pairs:
    get:
      summary: Get supported trading pairs for an account
      description: 'Retrieve all asset trading pairs supported by a specific connected account, includin

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