Fireblocks Transactions API

Create, cancel, drop, and query digital-asset transactions across all supported chains. Every transaction passes the workspace Policy Engine, is signed by the MPC quorum, and is broadcast under Fireblocks' fee-bump-and-rebroadcast logic. Supports transfers, raw signings, typed-message signings, contract calls, drop-and-replace, fee estimation, validate-address, and approval-request management.

OpenAPI Specification

fireblocks-transactions-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Fireblocks Blockchains and Assets Approval Requests Transactions 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: Transactions
paths:
  /transactions:
    get:
      summary: Get transaction history
      description: 'Get the transaction history for your workspace.


        **Endpoint Permissions:** Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.

        '
      tags:
      - Transactions
      x-readme:
        code-samples:
        - language: javascript
          code: "const transactions = await fireblocks.getTransactions({\n status: args.status,\nafter: from });\n"
          name: Fireblocks SDK Javascript example
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<GetTransactionsResponse>> = fireblocks.transactions.getTransactions(transactionsApiGetTransactionsRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<List<TransactionResponse>>> response = fireblocks.transactions().getTransactions(before, after, status, orderBy, sort, limit, sourceType, sourceId, destType, destId, assets, txHash, sourceWalletId, destWalletId);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.transactions.get_transactions(before, after, status, order_by, sort, limit, source_type, source_id, dest_type, dest_id, assets, tx_hash, source_wallet_id, dest_wallet_id);
          name: Fireblocks SDK Python example
      parameters:
      - in: query
        name: before
        description: "Unix timestamp in milliseconds. Returns only transactions created before the specified date.\nProvides an explicit end time. If not provided, default value will be applied, and may change over time. \nThe current default value is the past 90 days.\n"
        required: false
        schema:
          type: string
          example: '1716735252121'
      - in: query
        name: after
        description: "Unix timestamp in milliseconds. Returns only transactions created after the specified date.\nProvides an explicit start time. If not provided, default value will be applied, and may change over time. \nThe current default value is the past 90 days.\n"
        required: false
        schema:
          type: string
          example: '1716735250121'
      - in: query
        name: status
        description: You can filter by one of the statuses.
        required: false
        schema:
          $ref: '#/components/schemas/TransactionStatus'
      - in: query
        name: orderBy
        description: 'The field to order the results by.


          **Note:** Ordering by a field that is not `createdAt` may result in transactions that receive updates as you request the next or previous pages of results, resulting in missing those transactions.

          '
        required: false
        schema:
          type: string
          enum:
          - createdAt
          - lastUpdated
      - in: query
        name: sort
        description: The direction to order the results by
        required: false
        schema:
          type: string
          enum:
          - ASC
          - DESC
      - in: query
        name: limit
        description: Limits the number of results. If not provided, a limit of 200 will be used. The maximum allowed limit is 500
        required: false
        schema:
          type: integer
          minimum: 1
          default: 200
          example: 50
      - in: query
        name: sourceType
        description: The source type of the transaction
        required: false
        schema:
          type: string
          enum:
          - VAULT_ACCOUNT
          - EXCHANGE_ACCOUNT
          - INTERNAL_WALLET
          - EXTERNAL_WALLET
          - CONTRACT
          - FIAT_ACCOUNT
          - NETWORK_CONNECTION
          - COMPOUND
          - UNKNOWN
          - GAS_STATION
          - END_USER_WALLET
      - in: query
        name: sourceId
        description: The source ID of the transaction
        required: false
        schema:
          type: string
          example: '0'
      - in: query
        name: destType
        description: The destination type of the transaction
        required: false
        schema:
          type: string
          enum:
          - VAULT_ACCOUNT
          - EXCHANGE_ACCOUNT
          - INTERNAL_WALLET
          - EXTERNAL_WALLET
          - CONTRACT
          - FIAT_ACCOUNT
          - NETWORK_CONNECTION
          - COMPOUND
          - ONE_TIME_ADDRESS
          - END_USER_WALLET
          - MULTI_DESTINATION
      - in: query
        name: destId
        description: The destination ID of the transaction
        required: false
        schema:
          type: string
          example: '2'
      - in: query
        name: assets
        description: A list of assets to filter by, seperated by commas
        required: false
        schema:
          type: string
          example: ETH,BTC
      - in: query
        name: txHash
        description: Returns only results with a specified txHash
        required: false
        schema:
          type: string
          example: '0x578b26ea55c018ab2ae595a4a2e2b05d39a3e455ddf36b2d6adc1cbc01bed4d1'
      - in: query
        name: sourceWalletId
        description: Returns only results where the source is a specific end user wallet
        required: false
        schema:
          type: string
          example: f01d8d3c-b1a3-4b33-8515-d99137117ace
      - in: query
        name: destWalletId
        description: Returns only results where the destination is a specific end user wallet
        required: false
        schema:
          type: string
          example: bccab295-e1de-4768-85cc-a11fdb11218f
      responses:
        '200':
          description: A list of transactions
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
            next-page:
              $ref: '#/components/headers/next-page'
            prev-page:
              $ref: '#/components/headers/prev-page'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTransactionsResponse'
        default:
          $ref: '#/components/responses/Error'
      operationId: getTransactions
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<GetTransactionsResponse>> = fireblocks.transactions.getTransactions(transactionsApiGetTransactionsRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<List<TransactionResponse>>> response = fireblocks.transactions().getTransactions(before, after, status, orderBy, sort, limit, sourceType, sourceId, destType, destId, assets, txHash, sourceWalletId, destWalletId);
      - lang: Python
        source: response = fireblocks.transactions.get_transactions(before, after, status, order_by, sort, limit, source_type, source_id, dest_type, dest_id, assets, tx_hash, source_wallet_id, dest_wallet_id);
    post:
      summary: Create a new transaction
      description: "Creates a new transaction. This endpoint can be used for regular Transfers, Contract Calls, Raw & Typed message signing.\n- For Transfers, the required parameters are: `assetId`, `source`, `destination` and `amount`.\n\n- For Contract Calls, the required parameters are: `operation.CONTRACT_CALL`, `assetId` (Base Asset), `source`, `destination`, `amount` (usually 0) and `extraParameters` object with `contractCallData` string.\n- For Solana Program Calls, the required parameters are: `operation.PROGRAM_CALL`, `assetId` (SOL/SOL_TEST), `source`,\n and `extraParameters` object with `programCallData` key while the value is a Base64 encoded unsigned serialized Solana transaction object.\n\n\n- Typed Message Signing is supported for the following asset IDs: 'ETH', 'BTC' and 'TRX'. [Typed Message Signing Guide](https://developers.fireblocks.com/docs/typed-message-signing-overview).\n- To create ZEC transaction, please call [Get unspent UTXO Input endpoint](https://developers.fireblocks.com/reference/getunspentinputs) to get the amount and use it as an input under `networkfee` on this endpoint. Please use this formula `(0.0001 + 0.00005*N) where N is the number of inputs` to calculate the fee needed and use it as an input under networkFee field\n- When using `maxFee` and a boost is needed, the user should set a custom `gasPrice` to force the override.\nLearn more about Fireblocks Transactions management in the following [guide](https://developers.fireblocks.com/reference/create-transactions).\n</br>Endpoint Permission: Admin, Signer, Editor."
      tags:
      - Transactions
      parameters:
      - $ref: '#/components/parameters/X-End-User-Wallet-Id'
      - $ref: '#/components/parameters/X-Idempotency-Key'
      x-readme:
        code-samples:
        - language: javascript
          code: 'const payload: TransactionArguments = { assetId: asset, source: { type: sourceType, id: sourceId || 0 }, destination: { type: destinationType, id: String(destinationId) }, amount: String(amount), fee: String(fee), note: "Created by fireblocks SDK" }; const result = await fireblocks.createTransaction(payload);

            '
          name: Fireblocks SDK Javascript example
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<CreateTransactionResponse>> = fireblocks.transactions.createTransaction(transactionsApiCreateTransactionRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<CreateTransactionResponse>> response = fireblocks.transactions().createTransaction(transactionRequest, xEndUserWalletId, idempotencyKey);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.transactions.create_transaction(transaction_request, x_end_user_wallet_id, idempotency_key);
          name: Fireblocks SDK Python example
      responses:
        '200':
          description: A transaction object
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateTransactionResponse'
        default:
          $ref: '#/components/responses/Error'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransactionRequest'
      operationId: createTransaction
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<CreateTransactionResponse>> = fireblocks.transactions.createTransaction(transactionsApiCreateTransactionRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<CreateTransactionResponse>> response = fireblocks.transactions().createTransaction(transactionRequest, xEndUserWalletId, idempotencyKey);
      - lang: Python
        source: response = fireblocks.transactions.create_transaction(transaction_request, x_end_user_wallet_id, idempotency_key);
  /transactions/estimate_fee:
    post:
      summary: Estimate transaction fee
      description: 'Estimates the transaction fee for a specific transaction request.

        This endpoint simulates a transaction which means that the system will expect to have the requested asset and balance in the specified wallet.



        **Note**: Supports all Fireblocks assets except ZCash (ZEC).

        Learn more about Fireblocks Fee Management in the following [guide](https://developers.fireblocks.com/reference/estimate-transaction-fee).

        </br>Endpoint Permission: Admin, Signer, Approver, Editor.'
      tags:
      - Transactions
      x-readme:
        code-samples:
        - language: javascript
          code: 'const payload: TransactionArguments = { assetId: asset, source: { type: sourceType, id: sourceId || 0 }, destination: { type: destinationType, id: String(destinationId) }, amount: Number(amount) }; const estimatedFee = await fireblocks.estimateFeeForTransaction(payload);

            '
          name: Fireblocks SDK Javascript example
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<EstimatedTransactionFeeResponse>> = fireblocks.transactions.estimateTransactionFee(transactionsApiEstimateTransactionFeeRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<EstimatedTransactionFeeResponse>> response = fireblocks.transactions().estimateTransactionFee(transactionRequest, idempotencyKey);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.transactions.estimate_transaction_fee(transaction_request, idempotency_key);
          name: Fireblocks SDK Python example
      parameters:
      - $ref: '#/components/parameters/X-Idempotency-Key'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransactionRequest'
      responses:
        '200':
          description: Estimated fees response
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EstimatedTransactionFeeResponse'
        default:
          $ref: '#/components/responses/Error'
      operationId: estimateTransactionFee
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<EstimatedTransactionFeeResponse>> = fireblocks.transactions.estimateTransactionFee(transactionsApiEstimateTransactionFeeRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<EstimatedTransactionFeeResponse>> response = fireblocks.transactions().estimateTransactionFee(transactionRequest, idempotencyKey);
      - lang: Python
        source: response = fireblocks.transactions.estimate_transaction_fee(transaction_request, idempotency_key);
  /transactions/{txId}:
    get:
      summary: Get a specific transaction by Fireblocks transaction ID
      description: 'Get a specific transaction data by Fireblocks Transaction ID

        </br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.'
      tags:
      - Transactions
      x-readme:
        code-samples:
        - language: javascript
          code: const tx = await fireblocks.getTransactionById(txId);
          name: Fireblocks SDK Javascript example
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<TransactionResponse>> = fireblocks.transactions.getTransaction(transactionsApiGetTransactionRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<TransactionResponse>> response = fireblocks.transactions().getTransaction(txId);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.transactions.get_transaction(tx_id);
          name: Fireblocks SDK Python example
      parameters:
      - in: path
        name: txId
        required: true
        example: cfe5be48-9307-4aa3-8ead-b959fca35dd6
        description: The ID of the transaction to return
        schema:
          type: string
      responses:
        '200':
          description: A Transaction object
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResponse'
        '400':
          $ref: '#/components/responses/Error'
        default:
          $ref: '#/components/responses/Error'
      operationId: getTransaction
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<TransactionResponse>> = fireblocks.transactions.getTransaction(transactionsApiGetTransactionRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<TransactionResponse>> response = fireblocks.transactions().getTransaction(txId);
      - lang: Python
        source: response = fireblocks.transactions.get_transaction(tx_id);
  /transactions/external_tx_id/{externalTxId}:
    get:
      summary: Get a specific transaction by external transaction ID
      description: 'Returns transaction by external transaction ID.

        </br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.'
      tags:
      - Transactions
      x-readme:
        code-samples:
        - language: javascript
          code: const tx = await fireblocks.getTransactionByExternalTxId(externalTxId);
          name: Fireblocks SDK Javascript example
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<TransactionResponse>> = fireblocks.transactions.getTransactionByExternalId(transactionsApiGetTransactionByExternalIdRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<TransactionResponse>> response = fireblocks.transactions().getTransactionByExternalId(externalTxId);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.transactions.get_transaction_by_external_id(external_tx_id);
          name: Fireblocks SDK Python example
      parameters:
      - in: path
        name: externalTxId
        required: true
        description: The external ID of the transaction to return
        schema:
          type: string
          example: cfe5be48-9307-4aa3-8ead-b959fca35dd6
      responses:
        '200':
          description: An Transaction object
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResponse'
        default:
          $ref: '#/components/responses/Error'
      operationId: getTransactionByExternalId
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<TransactionResponse>> = fireblocks.transactions.getTransactionByExternalId(transactionsApiGetTransactionByExternalIdRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<TransactionResponse>> response = fireblocks.transactions().getTransactionByExternalId(externalTxId);
      - lang: Python
        source: response = fireblocks.transactions.get_transaction_by_external_id(external_tx_id);
  /transactions/{txId}/set_confirmation_threshold:
    post:
      summary: Set confirmation threshold by Fireblocks Transaction ID
      description: 'Overrides the required number of confirmations for transaction completion Fireblocks Transaction ID.

        </br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.'
      tags:
      - Transactions
      x-readme:
        code-samples:
        - language: javascript
          code: const setConfThreshold = await fireblocks.setConfirmationThresholdByTxId(body);
          name: Fireblocks SDK Javascript example
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<SetConfirmationsThresholdResponse>> = fireblocks.transactions.setTransactionConfirmationThreshold(transactionsApiSetTransactionConfirmationThresholdRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<SetConfirmationsThresholdResponse>> response = fireblocks.transactions().setTransactionConfirmationThreshold(txId, setConfirmationsThresholdRequest, idempotencyKey);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.transactions.set_transaction_confirmation_threshold(tx_id, set_confirmations_threshold_request, idempotency_key);
          name: Fireblocks SDK Python example
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetConfirmationsThresholdRequest'
      parameters:
      - in: path
        name: txId
        required: true
        description: The ID of the transaction
        schema:
          type: string
          example: cfe5be48-9307-4aa3-8ead-b959fca35dd6
      - $ref: '#/components/parameters/X-Idempotency-Key'
      responses:
        '200':
          description: Set successfully
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SetConfirmationsThresholdResponse'
        default:
          $ref: '#/components/responses/Error'
      operationId: setTransactionConfirmationThreshold
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<SetConfirmationsThresholdResponse>> = fireblocks.transactions.setTransactionConfirmationThreshold(transactionsApiSetTransactionConfirmationThresholdRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<SetConfirmationsThresholdResponse>> response = fireblocks.transactions().setTransactionConfirmationThreshold(txId, setConfirmationsThresholdRequest, idempotencyKey);
      - lang: Python
        source: response = fireblocks.transactions.set_transaction_confirmation_threshold(tx_id, set_confirmations_threshold_request, idempotency_key);
  /transactions/{txId}/drop:
    post:
      summary: Drop ETH (EVM) transaction by ID
      description: 'Drops a stuck ETH (EVM) transaction and creates a replacement transaction with 0 amount.

        </br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.'
      tags:
      - Transactions
      x-readme:
        code-samples:
        - language: javascript
          code: const result = await fireblocks.dropTransaction(txId, feeLevel);
          name: Fireblocks SDK Javascript example
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<DropTransactionResponse>> = fireblocks.transactions.dropTransaction(transactionsApiDropTransactionRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<DropTransactionResponse>> response = fireblocks.transactions().dropTransaction(txId, dropTransactionRequest, xEndUserWalletId, idempotencyKey);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.transactions.drop_transaction(tx_id, drop_transaction_request, x_end_user_wallet_id, idempotency_key);
          name: Fireblocks SDK Python example
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DropTransactionRequest'
      parameters:
      - in: path
        name: txId
        required: true
        description: The ID of the transaction
        schema:
          type: string
          example: cfe5be48-9307-4aa3-8ead-b959fca35dd6
      - $ref: '#/components/parameters/X-End-User-Wallet-Id'
      - $ref: '#/components/parameters/X-Idempotency-Key'
      responses:
        '200':
          description: Operation completed successfully
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DropTransactionResponse'
        default:
          $ref: '#/components/responses/Error'
      operationId: dropTransaction
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<DropTransactionResponse>> = fireblocks.transactions.dropTransaction(transactionsApiDropTransactionRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<DropTransactionResponse>> response = fireblocks.transactions().dropTransaction(txId, dropTransactionRequest, xEndUserWalletId, idempotencyKey);
      - lang: Python
        source: response = fireblocks.transactions.drop_transaction(tx_id, drop_transaction_request, x_end_user_wallet_id, idempotency_key);
  /transactions/{txId}/cancel:
    post:
      summary: Cancel a transaction
      description: 'Cancels a transaction by Fireblocks Transaction ID.


        Can be used only for transactions that did not get to the BROADCASTING state.

        </br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.'
      tags:
      - Transactions
      x-readme:
        code-samples:
        - language: javascript
          code: const result = await fireblocks.cancelTransactionById(txId);
          name: Fireblocks SDK Javascript example
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<CancelTransactionResponse>> = fireblocks.transactions.cancelTransaction(transactionsApiCancelTransactionRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<CancelTransactionResponse>> response = fireblocks.transactions().cancelTransaction(txId, xEndUserWalletId, idempotencyKey);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.transactions.cancel_transaction(tx_id, x_end_user_wallet_id, idempotency_key);
          name: Fireblocks SDK Python example
      parameters:
      - in: path
        name: txId
        required: true
        description: The Fireblocks Transaction ID of the transaction to cancel
        schema:
          type: string
          example: cfe5be48-9307-4aa3-8ead-b959fca35dd6
      - $ref: '#/components/parameters/X-End-User-Wallet-Id'
      - $ref: '#/components/parameters/X-Idempotency-Key'
      responses:
        '200':
          description: An Transaction object
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelTransactionResponse'
        default:
          $ref: '#/components/responses/Error'
      operationId: cancelTransaction
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<CancelTransactionResponse>> = fireblocks.transactions.cancelTransaction(transactionsApiCancelTransactionRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<CancelTransactionResponse>> response = fireblocks.transactions().cancelTransaction(txId, xEndUserWalletId, idempotencyKey);
      - lang: Python
        source: response = fireblocks.transactions.cancel_transaction(tx_id, x_end_user_wallet_id, idempotency_key);
  /transactions/{txId}/freeze:
    post:
      summary: Freeze a transaction
      description: "Freezes a transaction by ID.\n\nUsually used for AML integrations when the incoming funds should be quarantined.\nFor account based assets - the entire amount of the transaction is frozen \nFor UTXO based assets - all UTXOs of the specified transaction are frozen\n</br>Endpoint Permission: Admin, Non-Signing Admin."
      tags:
      - Transactions
      x-readme:
        code-samples:
        - language: javascript
          code: const result = await fireblocks.freezeTransactionById(txId);
          name: Fireblocks SDK Javascript example
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<FreezeTransactionResponse>> = fireblocks.transactions.freezeTransaction(transactionsApiFreezeTransactionRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<FreezeTransactionResponse>> response = fireblocks.transactions().freezeTransaction(txId, xEndUserWalletId, idempotencyKey);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.transactions.freeze_transaction(tx_id, x_end_user_wallet_id, idempotency_key);
          name: Fireblocks SDK Python example
      parameters:
      - in: path
        name: txId
        required: true
        description: The ID of the transaction to freeze
        schema:
          type: string
          example: cfe5be48-9307-4aa3-8ead-b959fca35dd6
      - $ref: '#/components/parameters/X-End-User-Wallet-Id'
      - $ref: '#/components/parameters/X-Idempotency-Key'
      responses:
        '200':
          description: Freeze Transaction Response
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FreezeTransactionResponse'
      operationId: freezeTransaction
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<FreezeTransactionResponse>> = fireblocks.transactions.freezeTransaction(transactionsApiFreezeTransactionRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<FreezeTransactionResponse>> response = fireblocks.transactions().freezeTransaction(txId, xEndUserWalletId, idempotencyKey);
      - lang: Python
        source: response = fireblocks.transactions.freeze_transaction(tx_id, x_end_user_wallet_id, idempotency_key);
  /transactions/{txId}/unfreeze:
    post:
      summary: Unfreeze a transaction
      description: 'Unfreezes a transaction by Fireblocks Transaction ID and makes the transaction available again.

        </br>Endpoint Permission: Admin, Non-Signing Admin.'
      tags:
      - Transactions
      x-readme:
        code-samples:
        - language: javascript
          code: const result = await fireblocks.unfreezeTransactionById(txId);
          name: Fireblocks SDK Javascript example
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<UnfreezeTransactionResponse>> = fireblocks.transactions.unfreezeTransaction(transactionsApiUnfreezeTransactionRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<UnfreezeTransactionResponse>> response = fireblocks.transactions().unfreezeTransaction(txId, xEndUserWalletId, idempotencyKey);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.transactions.unfreeze_transaction(tx_id, x_end_user_wallet_id, idempotency_key);
          name: Fireblocks SDK Python example
      parameters:
      - in: path
        name: txId
        required: true
        description: The ID of the transaction to unfreeze
        schema:
          type: string
          example: cfe5be48-9307-4aa3-8ead-b959fca35dd6
      - $ref: '#/components/parameters/X-End-User-Wallet-Id'
      - $ref: '#/components/parameters/X-Idempotency-Key'
      responses:
        '200':
          description: Unfreeze response
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnfreezeTransactionResponse'
      operationId: unfreezeTransaction
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<UnfreezeTransactionResponse>> = fireblocks.transactions.unfreezeTransaction(transactionsApiUnfreezeTransactionRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<UnfreezeTransactionResponse>> response = fireblocks.transactions().unfreezeTransaction(txId, xEndUserWalletId, idempotencyKey);
      - lang: Python
        source: response = fireblocks.transactions.unfreeze_transaction(tx_id, x_end_user_wallet_id, idempotency_key);
  /txHash/{txHash

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