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 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: [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:
  /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.\n\
        For 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<UnfreezeTransa

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