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: 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: [] 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> = fireblocks.transactions.getTransactions(transactionsApiGetTransactionsRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture>> 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> = fireblocks.transactions.getTransactions(transactionsApiGetTransactionsRequest);' - lang: Java source: CompletableFuture>> 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\
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> = fireblocks.transactions.createTransaction(transactionsApiCreateTransactionRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> 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> = fireblocks.transactions.createTransaction(transactionsApiCreateTransactionRequest);' - lang: Java source: CompletableFuture> 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).
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> = fireblocks.transactions.estimateTransactionFee(transactionsApiEstimateTransactionFeeRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> 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> = fireblocks.transactions.estimateTransactionFee(transactionsApiEstimateTransactionFeeRequest);' - lang: Java source: CompletableFuture> 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
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> = fireblocks.transactions.getTransaction(transactionsApiGetTransactionRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> 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> = fireblocks.transactions.getTransaction(transactionsApiGetTransactionRequest);' - lang: Java source: CompletableFuture> 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.
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> = fireblocks.transactions.getTransactionByExternalId(transactionsApiGetTransactionByExternalIdRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> 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> = fireblocks.transactions.getTransactionByExternalId(transactionsApiGetTransactionByExternalIdRequest);' - lang: Java source: CompletableFuture> 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.
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> = fireblocks.transactions.setTransactionConfirmationThreshold(transactionsApiSetTransactionConfirmationThresholdRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> 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> = fireblocks.transactions.setTransactionConfirmationThreshold(transactionsApiSetTransactionConfirmationThresholdRequest);' - lang: Java source: CompletableFuture> 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.
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> = fireblocks.transactions.dropTransaction(transactionsApiDropTransactionRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> 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> = fireblocks.transactions.dropTransaction(transactionsApiDropTransactionRequest);' - lang: Java source: CompletableFuture> 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.
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> = fireblocks.transactions.cancelTransaction(transactionsApiCancelTransactionRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> 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> = fireblocks.transactions.cancelTransaction(transactionsApiCancelTransactionRequest);' - lang: Java source: CompletableFuture> 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
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> = fireblocks.transactions.freezeTransaction(transactionsApiFreezeTransactionRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> 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> = fireblocks.transactions.freezeTransaction(transactionsApiFreezeTransactionRequest);' - lang: Java source: CompletableFuture> 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.
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> = fireblocks.transactions.unfreezeTransaction(transactionsApiUnfreezeTransactionRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> 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> = fireblocks.transactions.unfreezeTransaction(transactionsApiUnfreezeTransactionRequest);' - lang: Java source: CompletableFuture> 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}/set_confirmation_threshold: post: summary: Set confirmation threshold by transaction hash description: 'Overrides the required number of confirmations for transaction completion by transaction hash.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.' tags: - Transactions x-readme: code-samples: - language: javascript code: const setConfThreshold = await fireblocks.setConfirmationThresholdByTxHash(body); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.transactions.setConfirmationThresholdByTransactionHash(transactionsApiSetConfirmationThresholdByTransactionHashRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.transactions().setConfirmationThresholdByTransactionHash(txHash, setConfirmationsThresholdRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: response = fireblocks.transactions.set_confirmation_threshold_by_transaction_hash(tx_hash, set_confirmations_threshold_request, idempotency_key); name: Fireblocks SDK Python example requestBody: content: application/json: schema: $ref: '#/components/schemas/SetConfirmationsThresholdRequest' parameters: - in: path name: txHash required: true description: The TxHash schema: type: string example: '0xf6223863e56b9f56a31f74d2bb1e96c28ea8421e6a8598e69a6b2525a89d5de5' - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: A list of transactions affected by the change headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/SetConfirmationsThresholdResponse' default: $ref: '#/components/responses/Error' operationId: setConfirmationThresholdByTransactionHash x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.transactions.setConfirmationThresholdByTransactionHash(transactionsApiSetConfirmationThresholdByTransactionHashRequest);' - lang: Java source: CompletableFuture> response = fireblocks.transactions().setConfirmationThresholdByTransactionHash(txHash, setConfirmationsThresholdRequest, idempotencyKey); - lang: Python source: response = fireblocks.transactions.set_confirmation_threshold_by_transaction_hash(tx_hash, set_confirmations_threshold_request, idempotency_key); /tags/approval_requests/{id}: get: summary: Get an approval request by id description: Get an approval request by id tags: - Approval Requests x-rate-limit-category: read parameters: - in: path name: id required: true schema: type: string format: numeric example: '12345' responses: '200': description: Approval request fetched successfully headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ApprovalRequest' '401': description: Unauthorized headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Approval request not found headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' operationId: getApprovalRequest /tags/approval_requests/{id}/cancel: post: summary: Cancel an approval request by ID description: 'Cancel an approval request by id. - Can only cancel requests in the `PENDING` status. - Returns `202 Accepted` when the cancellation is processed. ' tags: - Approval Requests x-rate-limit-category: write parameters: - $ref: '#/components/parameters/X-Idempotency-Key' - in: path name: id required: true schema: type: string format: numeric example: '12345' responses: '202': description: Approval request cancellation processed headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' '401': description: Unauthorized headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Approval request not found headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' '409': description: Invalid approval request state - cannot cancel request that is not in PENDING status headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' operationId: cancelApprovalRequest /batch/jobs: get: operationId: getJobs summary: Return a list of jobs belonging to tenant description: Get an array of objects including all active, paused, canceled, and complete jobs in a workspace. parameters: - name: fromTime description: Start of time range in ms since 1970 in: query required: false schema: type: integer - name: toTime description: End of time range in ms since 1970 in: query required: false schema: type: integer responses: '200': description: An array of jobs headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Jobs' default: $ref: '#/components/responses/Error' tags: - Job Management x-readme: code-samples: - language: typescript code: 'const response: Promise> = fireblocks.jobManagement.getJobs(jobManagementApiGetJobsRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture>> response = fireblocks.jobManagement().getJobs(fromTime, toTime); name: Fireblocks SDK Java example - language: python code: response = fireblocks.job_management.get_jobs(from_time, to_time); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.jobManagement.getJobs(jobManagementApiGetJobsRequest);' - lang: Java source: CompletableFuture>> response = fireblocks.jobManagement().getJobs(fromTime, toTime); - lang: Python source: response = fireblocks.job_management.get_jobs(from_time, to_time); /batch/{jobId}: get: operationId: getJob summary: Get job details description: Get an object describing the given job parameters: - in: path required: true name: jobId description: The requested job id schema: type: string responses: '200': description: A JSON object that describes the job headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Job' default: $ref: '#/components/responses/Error' tags: - Job Management x-readme: code-samples: - language: typescript code: 'const response: Promise> = fireblocks.jobManagement.getJob(jobManagementApiGetJobRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.jobManagement().getJob(jobId); name: Fireblocks SDK Java example - language: python code: response = fireblocks.job_management.get_job(job_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.jobManagement.getJob(jobManagementApiGetJobRequest);' - lang: Java source: CompletableFuture> response = fireblocks.jobManagement().getJob(jobId); - lang: Python source: response = fireblocks.job_management.get_job(job_id); /batch/{jobId}/pause: post: summary: Pause a job description: "Pause the given job, after the current task is done. A paused job can later be resumed by calling \u2018\ continue\u2019, or canceled." operationId: pauseJob parameters: - in: path required: true name: jobId description: The requested job id schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: paused successfully default: $ref: '#/components/responses/Error' tags: - Job Management x-readme: code-samples: - language: typescript code: 'const response: Promise> = fireblocks.jobManagement.pauseJob(jobManagementApiPauseJobRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.jobManagement().pauseJob(jobId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: response = fireblocks.job_management.pause_job(job_id, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.jobManagement.pauseJob(jobManagementApiPauseJobRequest);' - lang: Java source: CompletableFuture> response = fireblocks.jobManagement().pauseJob(jobId, idempotencyKey); - lang: Python source: response = fireblocks.job_management.pause_job(job_id, idempotency_key); /batch/{jobId}/continue: post: operationId: continueJob summary: Continue a paused job description: Continue the given paused job. parameters: - in: path required: true name: jobId description: The requested job id schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: continued successfully default: $ref: '#/components/responses/Error' tags: - Job Management x-readme: code-samples: - language: typescript code: 'const response: Promise> = fireblocks.jobManagement.continueJob(jobManagementApiContinueJobRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.jobManagement().continueJob(jobId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: response = fireblocks.job_management.continue_job(job_id, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.jobManagement.continueJob(jobManagementApiContinueJobRequest);' - lang: Java source: CompletableFuture> response = fireblocks.jobManagement().continueJob(jobId, idempotencyKey); - lang: Python source: response = fireblocks.job_management.continue_job(job_id, idempotency_key); /batch/{jobId}/cancel: post: operationId: cancelJob summary: Cancel a running job description: "Stop the given job immediately. If the job is in the \u2018Active\u2019 state, the job will be canceled\ \ after completing the current task. Vault accounts and Wallets that are already created will not be affected." parameters: - in: path required: true name: jobId description: The requested job id schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: canceled successfully default: $ref: '#/components/responses/Error' tags: - Job Management x-readme: code-samples: - language: typescript code: 'const response: Promise> = fireblocks.jobManagement.cancelJob(jobManagementApiCancelJobRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.jobManagement().cancelJob(jobId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: response = fireblocks.job_management.cancel_job(job_id, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.jobManagement.cancelJob(jobManagementApiCancelJobRequest);' - lang: Java source: CompletableFuture> response = fireblocks.jobManagement().cancelJob(jobId, idempotencyKey); - lang: Python source: response = fireblocks.job_management.cancel_job(job_id, idempotency_key); /batch/{jobId}/tasks: get: operationId: getJobTasks summary: Return a list of tasks for given job description: Return a list of tasks for given job parameters: - in: path required: true name: jobId description: The requested job id schema: type: string responses: '200': description: An array of tasks headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Tasks' default: $ref: '#/components/responses/Error' tags: - Job Management x-readme: code-samples: - language: typescript code: 'const response: Promise> = fireblocks.jobManagement.getJobTasks(jobManagementApiGetJobTasksRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture>> response = fireblocks.jobManagement().getJobTasks(jobId); name: Fireblocks SDK Java example - language: python code: response = fireblocks.job_management.get_job_tasks(job_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.jobManagement.getJobTasks(jobManagementApiGetJobTasksRequest);' - lang: Java source: CompletableFuture>> response = fireblocks.jobManagement().getJobTasks(jobId); - lang: Python source: response = fireblocks.job_management.get_job_tasks(job_id); components: schemas: AmlRegistrationResult: type: object properties: provider: type: string success: type: boolean timestamp: type: number AmlScreeningResult: type: object description: The result of the AML screening. properties: provider: type: string payload: type: object AmountInfo: type: object description: The details of the requested amount to transfer. properties: amount: description: If the transfer is a withdrawal from an exchange, the actual amount that was requested to be transferred. Otherwise, the requested amount. type: string requestedAmount: description: The amount requested by the user. type: string netAmount: description: The net amount of the transaction, after fee deduction. type: string amountUSD: description: The USD value of the requested amount. type: string ApprovalRequest: type: object description: Approval request details properties: id: type: string format: numeric description: The approval request identifier example: '12345' type: type: string description: The approval request type enum: - TAG_UPDATE - TAG_DELETE - TAG_ATTACH_DETACH state: type: string description: The approval request state enum: - PENDING - APPROVED - REJECTED - FAILED - CANCELLED - EXPIRED required: - id - type - state AuthorizationGroups: type: object properties: th: type: number example: 1 users: type: object additionalProperties: type: string enum: - PENDING_AUTHORIZATION - APPROVED - REJECTED - NA AuthorizationInfo: type: object description: The information about your [Transaction Authorization Policy (TAP).](https://developers.fireblocks.com/docs/capabilities#transaction-authorization-policy-tap) properties: allowOperatorAsAuthorizer: type: boolean logic: type: string enum: - AND - OR groups: type: array items: $ref: '#/components/schemas/AuthorizationGroups' BlockInfo: type: object description: "The block hash and height of the block that this transaction was mined in.\n **Note**: If an outgoing\ \ transaction uses the destinations object with more than one value in the array, blockHash is set to null." properties: blockHeight: type: string example: '19953257' blockHash: type: string nullable: true example: '0x1fdc0bc79a07387fa0de794142ead16f26edd9b5c66480139c2c37c422a3935e' CancelTransactionResponse: type: object properties: success: type: boolean ComplianceResult: type: object description: The result of the Compliance AML/Travel Rule screening. properties: aml: type: object description: The end result of the AML screening. items: $ref: '#/components/schemas/ComplianceScreeningResult' tr: type: object description: The result of the Travel Rule screening. items: $ref: '#/components/schemas/ComplianceScreeningResult' amlList: type: array description: The list of all results of the AML screening. items: $ref: '#/components/schemas/ComplianceScreeningResult' status: type: string description: Status of compliance result screening. enum: - Started - AMLStarted - AMLCompleted - AMLFailed - AMLInBackground - TRStarted - TRCompleted - TRFailed - Completed - RegistrationStarted - AMLRegistrationStarted - AMLRegistrationCompleted - TRUpdateStarted - TRUpdateCompleted - UpdateCompleted - IncomingStarted - AMLIncomingStarted - AMLIncomingCompleted - AMLIncomingFailed - AMLIncomingInBackground - TRIncomingStarted - TRIncomingCompleted - TRIncomingFailed - IncomingCompleted amlRegistration: type: object description: The results of the AML address registration. items: $ref: '#/components/schemas/AmlRegistrationResult' ComplianceScreeningResult: type: object properties: provider: type: string description: Screening Provider enum: - CHAINALYSIS - ELLIPTIC - CHAINALYSIS_V2 - ELLIPTIC_HOLISTIC - NONE payload: type: object description: 'The payload of the screening result. - The payload is a JSON object that contains the screening result. - The payload is different for each screening provider. ' bypassReason: type: string description: Reason AML screening was bypassed enum: - MANUAL - UNSUPPORTED_ASSET - BYPASSED_FAILURE - UNSUPPORTED_ROUTE - PASSED_BY_POLICY - TIMED_OUT - BAD_CREDENTIALS - CONFIGURATION_ERROR - DROPPED_BY_BLOCKCHAIN - PROCESS_DISMISSED screeningStatus: type: string enum: - COMPLETED - PENDING - BYPASSED - FAILED - FROZEN timestamp: type: number format: date-time CreateTransactionResponse: type: object properties: id: type: string description: Unique Fireblocks identifier of the transaction status: type: string description: The primary status of the transaction. For details, see [Primary transaction statuses.] (https://developers.fireblocks.com/reference/primary-transaction-statuses) systemMessages: $ref: '#/components/schemas/SystemMessageInfo' DestinationTransferPeerPath: type: object description: The destination of the transaction. properties: type: $ref: '#/components/schemas/TransferPeerPathType' subType: $ref: '#/components/schemas/TransferPeerPathSubType' id: type: string name: type: string walletId: type: string format: uuid oneTimeAddress: $ref: '#/components/schemas/OneTimeAddress' isCollateral: type: boolean description: Indicates whether the destination is a collateral account example: true required: - type DestinationTransferPeerPathResponse: type: object description: 'Destination of the transaction. **Note:** In case the transaction is sent to multiple destinations, the `destinations` parameter is be used instead of this.' properties: type: $ref: '#/components/schemas/TransferPeerPathType' subType: type: string example: External description: In case the type is set to `EXCHANGE_ACCOUNT` or `FIAT_ACCOUNT`, the specific exchange vendor name or fiat vendor name.In case the type is set to `INTERNAL_WALLET` or `EXTERNAL_WALLET`, the subType is set to `Internal` or `External`. id: type: string example: 713153a5-42b8-4865-b871-10aee308e7ac nullable: true description: The ID of the peer. You can retrieve the ID of each venue object using the endpoints for [listing vault accounts](https://developers.fireblocks.com/reference/getpagedvaultaccounts), [listing exchange account](https://developers.fireblocks.com/reference/getexchangeaccounts), [listing fiat accounts](https://developers.fireblocks.com/reference/getfiataccounts), [listing internal wallets](https://developers.fireblocks.com/reference/getinternalwallets), [listing external wallets](https://developers.fireblocks.com/reference/getexternalwallets), [listing network connections](https://developers.fireblocks.com/reference/getnetworkconnections). For the other types, this parameter is not needed. name: type: string description: The name of the peer example: Some Peer Name walletId: type: string format: uuid example: d5a6453c-c8b8-4ae1-84f5-4002164e711e tradingAccount: type: string nullable: true description: If this transaction is an exchange internal transfer, this field will be populated with the type of that trading account. required: - type DropTransactionRequest: type: object properties: txId: type: string description: Fireblocks Transaction ID example: cfe5be48-9307-4aa3-8ead-b959fca35dd6 feeLevel: type: string description: Transcation Fee Level enum: - LOW - MEDIUM - HIGH gasPrice: type: string description: Transaction Gas Price in gwei example: '10' DropTransactionResponse: type: object properties: txStatus: type: string txId: type: string replacedTxHash: type: string ErrorResponse: type: object properties: error: type: object properties: type: type: string enum: - INTERNAL - AUTHENTICATION - AUTHORIZATION - VALIDATION - NOT_FOUND - UNPROCESSABLE_ENTITY - FORBIDDEN message: type: string required: - type - message required: - error EstimatedFeeDetails: type: object description: Optional detailed fee breakdown for high/medium/low estimates properties: low: $ref: '#/components/schemas/FeeBreakdown' medium: $ref: '#/components/schemas/FeeBreakdown' high: $ref: '#/components/schemas/FeeBreakdown' EstimatedTransactionFeeResponse: type: object properties: low: $ref: '#/components/schemas/TransactionFee' medium: $ref: '#/components/schemas/TransactionFee' high: $ref: '#/components/schemas/TransactionFee' feeDetails: $ref: '#/components/schemas/EstimatedFeeDetails' required: - low - medium - high ExtraParameters: type: object properties: nodeControls: $ref: '#/components/schemas/NodeControls' rawMessageData: type: object properties: messages: type: array items: $ref: '#/components/schemas/UnsignedMessage' algorithm: type: string enum: - MPC_ECDSA_SECP256K1 - MPC_ECDSA_SECP256R1 - MPC_EDDSA_ED25519 description: Object containing messages for raw signing and the algorithm to be used. contractCallData: type: string description: Hex encoded contract call data as a string. example: '0xa9059cbb000000000000000000000000c7f14c1161a5427137b232c077ecdbd1f881c02900000000000000000000000000000000000000000000000000000000a05e0722' programCallData: type: string description: BASE64 encoded Solana unsigned serialized transaction object. example: '"AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAECnckDh7gOELSNx5pD92oS2ijhbUvjg0vuo/8tthsbvDi7gZJWA3XnqGrMfSlASBHSPx9i0WEmM065fw4GxrdeYpuUVNx1/Pp2gbwoJC0Pd60uzHOU3EJx13JWL6R34Jt4AQEAAA==" ' inputsSelection: type: object properties: inputsToSpend: type: array items: $ref: '#/components/schemas/UnspentInput' description: Inputs that should be used in the transaction. inputsToExclude: type: array items: $ref: '#/components/schemas/UnspentInput' description: Inputs that shouldn't be used in the transaction. description: For UTXO based blockchains, selections of inputs for the transaction. allowBaseAssetAddress: type: boolean default: false description: 'Transfers to unmanaged wallets only. When true, if the destination doesn''t have a whitelisted address for the requested asset, we''ll use the destination''s whitelisted address of the base asset (e.g., use the ETH address for an ERC-20). If the requested asset''s whitelisted address exists, it is used. **Note:** This is a premium feature that should be enabled in your workspace. Please contact your Customer Success Manager or Fireblocks Support for more information. ' description: 'Additional protocol and operation-specific key-value parameters: - For UTXO-based blockchain input selection, add the key `inputsSelection` with the value set to the [input selection structure](https://developers.fireblocks.com/reference/transaction-objects#inputsselection). The inputs can be retrieved from the [Retrieve Unspent Inputs endpoint](https://developers.fireblocks.com/reference/get_vault-accounts-vaultaccountid-assetid-unspent-inputs). - For `RAW` operations, add the key `rawMessageData` with the value set to the [raw message data structure](https://developers.fireblocks.com/reference/raw-signing-objects#rawmessagedata). - For `CONTRACT_CALL` operations, add the key `contractCallData` with the value set to the Ethereum smart contract Application Binary Interface (ABI) payload. The Fireblocks [development libraries](https://developers.fireblocks.com/docs/ethereum-development#convenience-libraries) are recommended for building contract call transactions. - For exchange compliance (e.g., Binance) and Travel Rule purposes, include the key `piiData` containing a custom JSON structure with Personally Identifiable Information (PII) relevant to the transaction. This data must be **fully encrypted by the sender** before being submitted to the Fireblocks API. The recommended encryption method is hybrid encryption using AES-256-GCM for the payload and RSA-OAEP for key exchange, with the recipient exchange''s public key. Learn more [here](https://developers.fireblocks.com/docs/a-developers-guide-to-constructing-encrypted-pii-messages-for-binance-via-fireblocks). **Note:** `rawMessageData`, `contractCallData`, and `inputsSelection` cannot be used together in the same call. ' FeeBreakdown: oneOf: - type: object description: Solana-specific fee breakdown properties: baseFee: type: string description: Base fee for Solana transaction priorityFee: type: string description: Priority fee for Solana transaction rent: type: string description: Rent fee for Solana account creation/storage totalFee: type: string description: Total fee amount - type: object description: Generic fee breakdown for other blockchains properties: baseFee: type: string description: Base fee component priorityFee: type: string description: Priority fee component totalFee: type: string description: Total fee amount FeeInfo: type: object description: Details of the transaction fees. properties: networkFee: description: The fee paid to the network. type: string serviceFee: description: The total fee deducted by the exchange from the actual requested amount (serviceFee = amount - netAmount). type: string gasPrice: description: The amount of gas required by/paid to the network to process the transaction. type: string L1networkFee: description: Layer 1 network fee for Layer 2 blockchain transactions type: string L2networkFee: description: Layer 2 network fee (gas price component for Layer 2 transactions) type: string paidByRelay: description: Indicates whether the relay paid the fee. type: boolean relayType: description: Indicates whether the relay is the same tenant (`LOCAL`) or another tenant (`THIRD_PARTY`). type: string relayId: description: The Vault account ID of the relay. type: string relayName: description: The name of the tenant hosting the third-party relay. type: string feeUSD: type: string description: The USD equivalent value of the fee example: '0.00013' FeePayerInfo: type: object properties: feePayerAccountId: type: string description: The account ID of the fee payer example: '123' FreezeTransactionResponse: type: object properties: success: type: boolean GetTransactionOperation: type: string enum: - TRANSFER - BURN - CONTRACT_CALL - MINT - RAW - TYPED_MESSAGE - PROGRAM_CALL - ENABLE_ASSET - STAKE - UNSTAKE - WITHDRAW - REDEEM_FROM_COMPOUND - SUPPLY_TO_COMPOUND - APPROVE description: "* `TRANSFER` - Transfers funds from one account to another. UTXO blockchains allow multi-input and multi-output\ \ transfers. All other blockchains allow transfers with one source address and one destination address.\n* `MINT`\ \ - Mints new tokens. Supported for Stellar, Ripple, and EVM-based blockchains.\n* `BURN` - Burns tokens. Supported\ \ for Stellar, Ripple, and EVM-based blockchains.\n* `CONTRACT_CALL` - Calls a smart contract method for web3 operations\ \ on any EVM blockchain. The Fireblocks [development libraries](https://developers.fireblocks.com/docs/ethereum-development#convenience-libraries)\ \ are recommended for building contract call transactions.\n* `TYPED_MESSAGE` - An off-chain message in either Ethereum\ \ Personal Message or EIP712 format. Use it to sign specific readable messages that are not actual transactions. [Learn\ \ more about typed messages](https://developers.fireblocks.com/docs/typed-message-signing).\n* `RAW` - An off-chain\ \ message with no predefined format. Use it to sign any message with your private key, including protocols such as\ \ blockchains and custom transaction types that Fireblocks do not natively support. [Learn more about raw signing\ \ transactions.](https://developers.fireblocks.com/docs/raw-message-signing)\n* `PROGRAM_CALL` - Calls a smart contract\ \ for web3 operations on the Solana blockchain. Read more in the [Solana Programs Interactions guide](https://developers.fireblocks.com/reference/interact-with-solana-programs)\n\ * `ENABLE_ASSET` - Algorand, DigitalBits, Solana, and Stellar require an on-chain transaction to create an asset wallet\ \ and enable the deposit address. This transaction is automatically created when adding assets on these blockchains\ \ at a vault account.\n* `STAKE` - Assign assets to a staking pool managed by a staking validator. Supported for Stellar\ \ and EVM-based blockchains. This transaction is automatically created when performing staking operations.\n* `UNSTAKE`\ \ - Remove assets from a staking pool managed by a staking validator. Supported for Stellar and EVM-based blockchains.\ \ This transaction is automatically created when performing staking operations.\n* `WITHDRAW` - Transfer assets from\ \ a dedicated staking vault account to another address. Supported for Stellar and EVM-based blockchains. This transaction\ \ is automatically created when performing staking operations.\n\n **Note:** Fireblocks will rename this type from\ \ `WITHDRAW` to a different type name soon. There will be a 7-day notice regarding the new type name.\n\n* `SUPPLY_TO_COMPOUND`\ \ - Deprecated since April 1st, 2023. Older transactions may have this as their operation, in case users in the workspace\ \ have used the direct integration between Fireblocks and the Compound DeFI protocol.\n* `REDEEM_FROM_COMPOUND` -\ \ Deprecated since April 1st, 2023. Older transactions may have this as their operation, in case users in the workspace\ \ have used the direct integration between Fireblocks and the Compound DeFI protocol.\n* `APPROVE` - Enables the approve\ \ function for a smart contract to withdraw from a designated wallet. [Learn more](https://support.fireblocks.io/hc/en-us/articles/4404616097426-Approve-Transaction-Amount-Cap).\n" GetTransactionsResponse: type: array items: $ref: '#/components/schemas/TransactionResponse' Job: type: object properties: id: type: string tenantId: type: string type: type: string userId: type: string created: type: number updated: type: number state: type: string tasks: type: array items: $ref: '#/components/schemas/Task' Jobs: type: array items: $ref: '#/components/schemas/Job' NetworkRecord: type: object properties: source: $ref: '#/components/schemas/SourceTransferPeerPathResponse' destination: $ref: '#/components/schemas/DestinationTransferPeerPathResponse' txHash: type: string networkFee: type: string assetId: type: string x-fb-entity: asset netAmount: description: The net amount of the transaction, after fee deduction type: string isDropped: type: boolean type: type: string destinationAddress: type: string amountUSD: type: string rewardInfo: $ref: '#/components/schemas/RewardInfo' NodeControls: description: 'Configure special node requirements. - For routing transactions to a custom node, set the `type` to `NODE_ROUTER` and the `tag` to the pre-configured tag value. - For MEV protection, set only the `type` property to `MEV` (`tag` is not required at this stage). **Note:** This is a premium feature that should be enabled in your workspace. Please contact your Customer Success Manager or Fireblocks Support for more information. ' type: object properties: type: description: '`NODE_ROUTER` - used for transaction routing to a custom node `MEV` - used for transaction routing to a MEV protection provider ' type: string enum: - MEV - NODE_ROUTER tag: description: Should be used when type is `NODE_ROUTER` only type: string example: some_node_tag OneTimeAddress: type: object properties: address: type: string tag: type: string required: - address PreHash: type: object description: "The prehash object for ECDSA RAW signing requests. \nThe prehash object contains the content to sign (the\ \ actual message in hex representation) and the hashing algorithm to use before signing.\n" properties: content: type: string description: The prehashed content to sign on in hex representation. example: 48656c6c6f2046697265626c6f636b73210a hashAlgorithm: type: string description: The hashing algorithm to use in order to hash the content before the signature process enum: - SHA256 - KECCAK256 - SHA3 - BLAKE2 - DOUBLE_SHA256 required: - content - hashAlgorithm RewardInfo: type: object description: "This field is relevant only for Algorand transactions. Both `srcRewards` and `destRewards` will appear\ \ only for Vault to Vault transactions, otherwise you will receive only the Fireblocks\u2019 side of the transaction." properties: srcRewards: type: string destRewards: type: string SetConfirmationsThresholdRequest: type: object properties: numOfConfirmations: type: number example: 50 SetConfirmationsThresholdResponse: type: object properties: success: type: boolean transactions: type: array description: An array of the affected Fireblocks Transaction IDs items: type: string example: cfe5be48-9307-4aa3-8ead-b959fca35dd6 SignedMessage: type: object description: Signed Message Object (for RAW signing responses) properties: content: type: string example: some_content algorithm: type: string enum: - MPC_ECDSA_SECP256K1 - MPC_ECDSA_SECP256R1 - MPC_EDDSA_ED25519 derivationPath: type: array items: minItems: 5 maxItems: 5 type: number example: - 44 - 0 - 60 - 0 - 0 signature: type: object properties: fullSig: description: R + S values concatenated type: string example: c8ab06c7c3447ac8f594a643d5942ceb2451b9434bb29c4b1a40da5cf32403002bfba73d825b240f2e2949df139c2f3e26e6cdd36579eb1a0cbd4abc4e6e348a r: type: string example: c8ab06c7c3447ac8f594a643d5942ceb2451b9434bb29c4b1a40da5cf3240300 s: type: string example: 2bfba73d825b240f2e2949df139c2f3e26e6cdd36579eb1a0cbd4abc4e6e348a v: type: number enum: - 0 - 1 publicKey: type: string example: 03af66c4551559d54bfbfd14c84870a337b06bf2738ed6427480ec56ee551c7458 SignedMessages: type: array description: An array of signed messages items: $ref: '#/components/schemas/SignedMessage' SourceTransferPeerPath: type: object description: The source of the transaction. properties: type: $ref: '#/components/schemas/TransferPeerPathType' subType: $ref: '#/components/schemas/TransferPeerPathSubType' id: type: string name: type: string walletId: type: string format: uuid isCollateral: type: boolean description: Indicates whether the source is a collateral account example: true required: - type SourceTransferPeerPathResponse: type: object description: Source of the transaction. properties: type: $ref: '#/components/schemas/TransferPeerPathType' subType: type: string example: External description: In case the type is set to `EXCHANGE_ACCOUNT` or `FIAT_ACCOUNT`, the specific exchange vendor name or fiat vendor name. In case the type is set to `INTERNAL_WALLET` or `EXTERNAL_WALLET`, the subType is set to `Internal` or `External`. id: type: string example: 713153a5-42b8-4865-b871-10aee308e7ac nullable: true description: The ID of the peer. You can retrieve the ID of each venue object using the endpoints for [listing vault accounts](https://developers.fireblocks.com/reference/getpagedvaultaccounts), [listing exchange account](https://developers.fireblocks.com/reference/getexchangeaccounts), [listing fiat accounts](https://developers.fireblocks.com/reference/getfiataccounts), [listing internal wallets](https://developers.fireblocks.com/reference/getinternalwallets), [listing external wallets](https://developers.fireblocks.com/reference/getexternalwallets), [listing network connections](https://developers.fireblocks.com/reference/getnetworkconnection). For the other types, this parameter is not needed. name: type: string description: The name of the peer example: Some Peer Name walletId: type: string format: uuid example: d5a6453c-c8b8-4ae1-84f5-4002164e711e tradingAccount: type: string nullable: true description: If this transaction is an exchange internal transfer, this field will be populated with the type of that trading account. required: - type SystemMessageInfo: type: object properties: type: type: string enum: - WARN - BLOCK message: type: string description: A response from Fireblocks that communicates a message about the health of the process being performed. If this object is returned with data, you should expect potential delays or incomplete transaction statuses. example: Slow transaction processing. Outgoing transactions might be stuck. Task: type: object properties: id: type: string jobId: type: string type: type: string tenantId: type: string created: type: number updated: type: number state: type: string Tasks: type: array items: $ref: '#/components/schemas/Task' TransactionFee: type: object properties: gasLimit: example: '21000' description: Gas limit value for EVM based networks type: string feePerByte: description: The fee per byte value for UTXO based assets type: string example: '21.6' gasPrice: description: Gas price in gwei units for EVM based networks type: string example: '32' networkFee: description: The full network fee price type: string example: '0.0001' baseFee: description: (optional) Base Fee according to EIP-1559 (ETH assets) type: string example: '10' priorityFee: description: (optional) Priority Fee according to EIP-1559 (ETH assets) type: string example: '22' maxFeePerGasDelta: description: Max Fee Per Gas Delta added only for EIP-1559 (ETH assets) type: string example: '31' l1Fee: description: Layer 1 fee for Layer 2 chains type: string example: '0' TransactionOperation: type: string default: TRANSFER enum: - TRANSFER - BURN - CONTRACT_CALL - MINT - RAW - TYPED_MESSAGE - PROGRAM_CALL description: "* `TRANSFER` - The default value for an operation. Transfers funds from one account to another. UTXO blockchains\ \ allow multi-input and multi-output transfers. All other blockchains allow transfers with one source address and\ \ one destination address.\n* `MINT` - Mints new tokens. Supported for Stellar, Ripple and EVM-based blockchains.\n\ * `BURN` - Burns tokens. Supported for Stellar, Ripple and EVM-based blockchains.\n* `CONTRACT_CALL` - Calls a smart\ \ contract method for web3 operations on any EVM blockchain. The Fireblocks [development libraries](https://developers.fireblocks.com/docs/ethereum-development#convenience-libraries)\ \ are recommended for building contract call transactions.\n* `PROGRAM_CALL` - Calls a smart contract for web3 operations\ \ on the Solana blockchain.\n Read more in the [Solana Programs Interactions guide](https://developers.fireblocks.com/reference/interact-with-solana-programs).\n\ \n* `TYPED_MESSAGE` - An off-chain message in either Ethereum Personal Message or EIP712 format. Use it to sign specific\ \ readable messages that are not actual transactions. [Learn more about typed messages](https://developers.fireblocks.com/docs/typed-message-signing-1).\n\ * `RAW` - An off-chain message with no predefined format. Use it to sign any message with your private key, including\ \ protocols such as blockchains and custom transaction types that are not natively supported by Fireblocks. [Learn\ \ more about raw signing transactions.](https://developers.fireblocks.com/docs/raw-signing)\n" TransactionRequest: type: object properties: operation: $ref: '#/components/schemas/TransactionOperation' note: type: string description: Custom note, not sent to the blockchain, to describe the transaction at your Fireblocks workspace. example: Ticket 123 externalTxId: type: string description: 'Allows you to add a unique ID to help prevent duplicate transactions. No specific format is required for this parameter. After you submit a transaction with an external ID, Fireblocks will automatically reject all future transactions with the same ID. - Using an external ID primarily helps in situations where, even though a submitted transaction responds with an error due to an internet outage, the transaction was still sent to and processed on the blockchain. - Use [Get a specific transaction by external transaction ID](https://developers.fireblocks.com/reference/gettransactionbyexternalid) to validate whether these transactions have been processed. ' example: some_unique_external_tx_id assetId: type: string description: The ID of the asset to transfer; used for `TRANSFER`, `MINT`, or `BURN` operations. See [the list of supported assets and their IDs](https://developers.fireblocks.com/reference/listassets). x-fb-entity: asset example: ETH source: $ref: '#/components/schemas/SourceTransferPeerPath' destination: $ref: '#/components/schemas/DestinationTransferPeerPath' destinations: type: array description: For UTXO based blockchains, you can send a single transaction to multiple destinations. items: $ref: '#/components/schemas/TransactionRequestDestination' amount: description: "For `TRANSFER` operations, the requested amount to transfer, in the asset\u2019s unit. Fireblocks\ \ recommends using a numeric string for accurate precision. Although a number input exists, it is deprecated." oneOf: - type: string description: Numeric string (recommended) example: '0.02' - type: number description: Number (deprecated) example: 0.02 treatAsGrossAmount: type: boolean description: "\"When set to `true`, the fee will be deducted from the requested amount.\"\n\n**Note**: This parameter\ \ can only be considered if a transaction\u2019s asset is a base asset, such as ETH or MATIC. If the asset can\u2019\ t be used for transaction fees, like USDC, this parameter is ignored and the fee is deducted from the relevant\ \ base asset wallet in the source account." example: false forceSweep: type: boolean description: "For Polkadot, TON, Kusama and Westend transactions only. When set to true, Fireblocks will empty the\ \ asset wallet.\n\n **Note:** If set to true when the source account is exactly 1 DOT, the transaction will\ \ fail. Any amount more or less than 1 DOT succeeds. This is a Polkadot blockchain limitation." example: false feeLevel: type: string description: For UTXO or EVM-based blockchains only. Defines the blockchain fee level which will be payed for the transaction. Alternatively, specific fee estimation parameters exist below. enum: - LOW - MEDIUM - HIGH example: MEDIUM fee: description: '- **For UTXO-based blockchains**, the fee per bytes in the asset''s smallest unit (Satoshi, Latoshi, etc.). - **For Ripple**, the fee for the transaction. Note: - Fireblocks recommends using a numeric string for more precision. Although a number input exists, it is deprecated. ' oneOf: - type: string description: Numeric string (recommended) - type: number description: Number (deprecated) priorityFee: description: '**For Ethereum-based blockchains only.** The fee (in Gwei) for EIP-1559 transaction pricing mechanism. Note: - Fireblocks recommends using a numeric string for more precision. Although a number input exists, it is deprecated. ' oneOf: - type: string description: Numeric string (recommended) example: '2' - type: number description: Number (deprecated) example: 2 failOnLowFee: type: boolean description: When set to `true`, in case the current `MEDIUM` fee level is higher than the one specified in the transaction, the transaction will fail to avoid getting stuck with no confirmations. maxFee: description: The maximum fee (gas price or fee per byte) that should be paid for the transaction. In case the current value of the requested `feeLevel` is higher than this requested maximum fee. Represented by a numeric string for more precision. type: string example: '120' gasLimit: description: '**For EVM-based blockchains only.** Units of gas required to process the transaction. Notes: - Only two of the three arguments can be specified in a single transaction: `gasLimit`, `gasPrice`, and/or `networkFee`. - Fireblocks recommends using a numeric string for more precision. Although a number input exists, it is deprecated. ' oneOf: - type: string description: Numeric string (recommended) example: '21000' - type: number description: Number (deprecated) example: 21000 gasPrice: description: '**For non-EIP-1559, EVM-based transactions.** Price per gas unit. In Ethereum, this is specified in Gwei. Notes: - Only two of the three arguments can be specified in a single transaction: `gasLimit`, `gasPrice`, and/or `networkFee`. - Fireblocks recommends using a numeric string for more precision. Although a number input exists, it is deprecated. ' oneOf: - type: string description: Numeric string (recommended) - type: number description: Number (deprecated) networkFee: description: 'The total transaction fee in the blockchain''s largest unit. Notes: - Only two of the three arguments can be specified in a single transaction: `gasLimit`, `gasPrice`, and/or `networkFee`. - Fireblocks recommends using a numeric string for more precision. Although a number input exists, it is deprecated. ' oneOf: - type: string description: Numeric string (recommended) - type: number description: Number (deprecated) replaceTxByHash: type: string description: '**For EVM-based blockchains only.** Notes: - To replace a transaction, create another transaction using the stuck transaction''s hash and specify a higher fee. - To drop a transaction, create another transaction using the stuck transaction''s hash and change the `amount` field to 0. ' example: 00000000-0000-0000-0000-000000000000 extraParameters: $ref: '#/components/schemas/ExtraParameters' customerRefId: type: string description: The ID for AML providers to associate the owner of funds with transactions. example: abcdef travelRuleMessage: $ref: '#/components/schemas/TravelRuleCreateTransactionRequest' autoStaking: type: boolean description: This feature is no longer supported. deprecated: true networkStaking: deprecated: true description: This feature is no longer supported. oneOf: - type: string description: Numeric string (recommended) - type: number description: Number (deprecated) cpuStaking: deprecated: true description: This feature is no longer supported. oneOf: - type: string description: Numeric string (recommended) - type: number description: Number (deprecated) useGasless: type: boolean description: '- Override the default gasless configuration by sending true\false' TransactionRequestDestination: type: object properties: amount: type: string destination: $ref: '#/components/schemas/DestinationTransferPeerPath' TransactionResponse: type: object properties: id: type: string description: Fireblocks Transaction ID example: cfe5be48-9307-4aa3-8ead-b959fca35dd6 externalTxId: type: string description: Unique external transaction identifier provided by the user. Used to help prevent duplicate transactions. example: my_unique_external_tx_id status: $ref: '#/components/schemas/TransactionStatus' subStatus: $ref: '#/components/schemas/TransactionSubStatus' txHash: type: string example: 0f47094cde3fcc168ed97365a7cb3996ad5706fff03e7403e74ffd7a922025d4 description: "The hash of the transaction on the blockchain.\n * This parameter exists if at least one of the following\ \ conditions is met:\n\n 1. The transaction\u2019s source type is `UNKNOWN`, `WHITELISTED_ADDRESS`, `NETWORK_CONNECTION`,\ \ `ONE_TIME_ADDRESS`, `FIAT_ACCOUNT` or `GAS_STATION`.\n\n 2. The transaction\u2019s source type is `VAULT`\ \ and the status is either: `CONFIRMING`, `COMPLETED`, or was in any of these statuses prior to changing to `FAILED`\ \ or `REJECTED`. In some instances, transactions in status `BROADCASTING` will include the txHash as well.\n\n\ \ 3. The transaction\u2019s source type is `EXCHANGE_ACCOUNT` and the transaction\u2019s destination type\ \ is `VAULT`, and the status is either: `CONFIRMING`, `COMPLETED`, or was in any of these status prior to changing\ \ to `FAILED`.\n\n\n* In addition, the following conditions must be met:\n\n 1. The asset is a crypto asset\ \ (not fiat).\n\n 2. The transaction operation is not `RAW` or `TYPED_MESSAGE`." operation: $ref: '#/components/schemas/GetTransactionOperation' note: type: string description: Custom note, not sent to the blockchain, that describes the transaction at your Fireblocks workspace. example: My Transcation Note blockchainInfo: type: object description: 'A JSON used to store additional blockchain-specific data. **Example:** In HBAR, this property will have the txHash in addition to the txID. ' assetId: type: string description: The ID of the asset for `TRANSFER`, `MINT`, `BURN`, `ENABLE_ASSET`,`STAKE` ,`UNSTAKE` or `WITHDRAW` operations. See the [list of supported assets and their IDs on Fireblocks](https://developers.fireblocks.com/reference/getsupportedassets). x-fb-entity: asset example: BTC assetType: type: string description: Type classification of the asset example: ERC20 source: $ref: '#/components/schemas/SourceTransferPeerPathResponse' sourceAddress: type: string description: 'For account based assets only, the source address of the transaction. **Note:** If the status is `CONFIRMING`, `COMPLETED`, or has been `CONFIRMING`; then moved forward to `FAILED` or `REJECTED`, then this parameter will contain the source address. In any other case, this parameter will be empty.' example: bc1qjhm0h7vhdyu0d0luv34dlz654rmsvg8twywk99 tag: type: string description: Source address tag for Tag/Memo supporting assets, or Bank Transfer Description for the fiat provider BLINC (by BCB Group). example: '247016305' deprecated: true destination: $ref: '#/components/schemas/DestinationTransferPeerPathResponse' destinations: type: array description: "The transaction\u2019s destinations.\n**Note:** In case the transaction is sent to a single destination,\ \ the `destination` parameter is used instead of this." items: $ref: '#/components/schemas/TransactionResponseDestination' destinationAddress: type: string example: bc1qzfstugu9fn0hq4dv0xhzyw2p2h9mapdery324e description: "Address where the asset were transferred.\nNotes:\n - For [Multi destination transactions](https://support.fireblocks.io/hc/en-us/articles/360018447980-Multi-destination-transactions),\ \ this parameter will be empty. In this case, you should refer to the destinations field.\n - If the status is\ \ `CONFIRMING`, `COMPLETED`, or has been `CONFIRMING`; then moved forward to `FAILED` or `REJECTED`, then this\ \ parameter will contain the destination address. In any other case, this parameter will be empty." destinationAddressDescription: type: string description: Description of the destination address. example: some_description destinationTag: type: string example: '4274981917' description: Destination address tag for Tag/Memo supporting assets, or Bank Transfer Description for the fiat provider BLINC (by BCB Group). contractCallDecodedData: description: Decoded data for `CONTRACT_CALL` operations. type: object properties: contractName: type: string functionCalls: type: array items: type: object amountInfo: $ref: '#/components/schemas/AmountInfo' treatAsGrossAmount: type: boolean description: 'For transactions initiated via this Fireblocks workspace, when set to `true`, the fee is deducted from the requested amount. **Note:** This parameter can only be considered if a transaction''s asset is a base asset, such as ETH or MATIC. If the asset can''t be used for transaction fees, like USDC, this parameter is ignored and the fee is deducted from the relevant base asset wallet in the source account.' feeInfo: $ref: '#/components/schemas/FeeInfo' feeCurrency: type: string description: The asset which was withdrawn to pay the transaction fee, for example ETH for EVM-based blockchains, BTC for Tether Omni. example: ETH networkRecords: type: array description: In case a single transaction resulted with multiple transfers, for example a result of a contract call, then this parameter specifies each transfer that took place on the blockchain. items: $ref: '#/components/schemas/NetworkRecord' createdAt: type: number description: "The transaction\u2019s creation date and time, in unix timestamp." example: 1716727963121 lastUpdated: type: number description: "The transaction\u2019s last update date and time, in unix timestamp." example: 1716727961121 createdBy: type: string description: User ID of the initiator of the transaction. example: 106d86fd-cd76-4554-a3e5-73df10281937 signedBy: type: array description: "User ID\u2019s of the signers of the transaction." items: type: string example: 106d86fd-cd76-4554-a3e5-73df10281937 rejectedBy: type: string example: c0c1abde-68ed-44bb-8848-6187b22f2442 description: User ID of the user that rejected the transaction (in case it was rejected). authorizationInfo: $ref: '#/components/schemas/AuthorizationInfo' exchangeTxId: type: string description: If the transaction originated from an exchange, this is the ID of this transaction at the exchange. customerRefId: type: string example: some_reference description: The ID for AML providers to associate the owner of funds with transactions. amlScreeningResult: $ref: '#/components/schemas/AmlScreeningResult' complianceResult: $ref: '#/components/schemas/ComplianceResult' notBroadcastByFireblocks: type: boolean description: Indicates the transaction was not broadcast by Fireblocks example: false dappUrl: type: string description: dApp URL for Web3 transactions example: https://app.uniswap.org/ gasLimit: type: string description: Gas limit for EVM-based blockchain transactions example: '21000' blockchainIndex: type: string description: Blockchain-specific index or identifier for the transaction example: 1.1.1 paidRent: type: string description: Solana rent payment amount example: '0.00203928' extraParameters: $ref: '#/components/schemas/ExtraParameters' signedMessages: $ref: '#/components/schemas/SignedMessages' numOfConfirmations: type: number example: 10 description: The number of confirmations of the transaction. The number will increase until the transaction will be considered completed according to the confirmation policy. blockInfo: $ref: '#/components/schemas/BlockInfo' index: type: number example: 0 description: "For UTXO based assets this is the vOut, for Ethereum based, this is the index of the event of the\ \ contract call.\n **Note:** This field is not returned if a transaction uses the `destinations` object with more\ \ than one value." rewardInfo: $ref: '#/components/schemas/RewardInfo' feePayerInfo: $ref: '#/components/schemas/FeePayerInfo' systemMessages: $ref: '#/components/schemas/SystemMessageInfo' addressType: type: string enum: - '' - WHITELISTED - ONE_TIME requestedAmount: description: The amount requested by the user. Deprecated - please use the `amountInfo` field for accuracy. type: number deprecated: true amount: description: If the transfer is a withdrawal from an exchange, the actual amount that was requested to be transferred. Otherwise, the requested amount. Deprecated - please use the `amountInfo` field for accuracy. type: number deprecated: true netAmount: description: The net amount of the transaction, after fee deduction. Deprecated - please use the `amountInfo` field for accuracy. type: number deprecated: true amountUSD: description: The USD value of the requested amount. Deprecated - please use the `amountInfo` field for accuracy. type: number nullable: true deprecated: true serviceFee: description: The total fee deducted by the exchange from the actual requested amount (`serviceFee` = `amount` - `netAmount`). Deprecated - please use the `feeInfo` field for accuracy. type: number deprecated: true fee: description: Deprecated - please use the `feeInfo` field for accuracy. type: number deprecated: true networkFee: description: The fee paid to the network. Deprecated - please use the `feeInfo` field for accuracy. type: number deprecated: true errorDescription: description: The transaction's revert reason. This field will be returned when `subStatus` = 'SMART_CONTRACT_EXECUTION_FAILED'. type: string example: Some error returned by the contract replacedTxByHash: type: string description: If the transaction is a Replace-By-Fee (RBF) transaction, this is the hash of the transaction that was replaced. nonce: type: string description: Blockchain nonce for the transaction TransactionResponseDestination: type: object properties: amount: type: string description: The amount to be sent to this destination. example: '0.2' amountUSD: type: string description: The USD value of the requested amount. example: '158' amlScreeningResult: $ref: '#/components/schemas/AmlScreeningResult' destination: $ref: '#/components/schemas/DestinationTransferPeerPathResponse' authorizationInfo: $ref: '#/components/schemas/AuthorizationInfo' TransactionStatus: type: string description: "The primary status of the transaction. \nFor details, see [Primary transaction statuses](https://developers.fireblocks.com/reference/primary-transaction-statuses)\n" enum: - SUBMITTED - PENDING_AML_SCREENING - PENDING_ENRICHMENT - PENDING_AUTHORIZATION - QUEUED - PENDING_SIGNATURE - PENDING_3RD_PARTY_MANUAL_APPROVAL - PENDING_3RD_PARTY - BROADCASTING - COMPLETED - CONFIRMING - CANCELLING - CANCELLED - BLOCKED - REJECTED - FAILED TransactionSubStatus: type: string description: 'See [Transaction substatuses](https://developers.fireblocks.com/reference/transaction-substatuses) for the list of transaction sub statuses ' enum: - 3RD_PARTY_PROCESSING - 3RD_PARTY_PENDING_SERVICE_MANUAL_APPROVAL - PENDING_3RD_PARTY_MANUAL_APPROVAL - 3RD_PARTY_CONFIRMING - PENDING_BLOCKCHAIN_CONFIRMATIONS - 3RD_PARTY_COMPLETED - COMPLETED_BUT_3RD_PARTY_FAILED - COMPLETED_BUT_3RD_PARTY_REJECTED - CONFIRMED - BLOCKED_BY_POLICY - 3RD_PARTY_CANCELLED - 3RD_PARTY_REJECTED - CANCELLED_BY_USER - CANCELLED_BY_USER_REQUEST - REJECTED_BY_USER - AUTO_FREEZE - FROZEN_MANUALLY - REJECTED_AML_SCREENING - ACTUAL_FEE_TOO_HIGH - ADDRESS_WHITELISTING_SUSPENDED - AMOUNT_TOO_SMALL - AUTHORIZATION_FAILED - AUTHORIZER_NOT_FOUND - ENV_UNSUPPORTED_ASSET - ERROR_UNSUPPORTED_TRANSACTION_TYPE - FAIL_ON_LOW_FEE - GAS_LIMIT_TOO_LOW - GAS_PRICE_TOO_LOW_FOR_RBF - INCOMPLETE_USER_SETUP - INSUFFICIENT_FUNDS - INSUFFICIENT_FUNDS_FOR_FEE - INTEGRATION_SUSPENDED - INVALID_ADDRESS - INVALID_CONTRACT_CALL_DATA - INVALID_FEE_PARAMS - INVALID_NONCE_FOR_RBF - INVALID_TAG_OR_MEMO - INVALID_UNMANAGED_WALLET - MAX_FEE_EXCEEDED - MISSING_TAG_OR_MEMO - NEED_MORE_TO_CREATE_DESTINATION - NO_MORE_PREPROCESSED_INDEXES - NON_EXISTING_ACCOUNT_NAME - RAW_MSG_EMPTY_OR_INVALID - RAW_MSG_LEN_INVALID - TOO_MANY_INPUTS - TX_SIZE_EXCEEDED_MAX - UNAUTHORISED_DEVICE - UNAUTHORISED_USER - UNALLOWED_RAW_PARAM_COMBINATION - UNSUPPORTED_OPERATION - UNSUPPORTED_TRANSACTION_TYPE - ZERO_BALANCE_IN_PERMANENT_ADDRESS - OUT_OF_DATE_SIGNING_KEYS - CONNECTIVITY_ERROR - ERROR_ASYNC_TX_IN_FLIGHT - INTERNAL_ERROR - INVALID_NONCE_TOO_HIGH - INVALID_NONCE_TOO_LOW - INVALID_ROUTING_DESTINATION - LOCKING_NONCE_ACCOUNT_TIMEOUT - NETWORK_ROUTING_MISMATCH - NONCE_ALLOCATION_FAILED - RESOURCE_ALREADY_EXISTS - SIGNER_NOT_FOUND - SIGNING_ERROR - TIMEOUT - TX_OUTDATED - UNKNOWN_ERROR - VAULT_WALLET_NOT_READY - UNSUPPORTED_MEDIA_TYPE - ADDRESS_NOT_WHITELISTED - API_KEY_MISMATCH - ASSET_NOT_ENABLED_ON_DESTINATION - DEST_TYPE_NOT_SUPPORTED - EXCEEDED_DECIMAL_PRECISION - EXCHANGE_CONFIGURATION_MISMATCH - EXCHANGE_VERSION_INCOMPATIBLE - INVALID_EXCHANGE_ACCOUNT - METHOD_NOT_ALLOWED - NON_EXISTENT_AUTO_ACCOUNT - ON_PREMISE_CONNECTIVITY_ERROR - PEER_ACCOUNT_DOES_NOT_EXIST - THIRD_PARTY_MISSING_ACCOUNT - UNAUTHORISED_IP_WHITELISTING - UNAUTHORISED_MISSING_CREDENTIALS - UNAUTHORISED_MISSING_PERMISSION - UNAUTHORISED_OTP_FAILED - WITHDRAW_LIMIT - 3RD_PARTY_FAILED - API_CALL_LIMIT - API_INVALID_SIGNATURE - CANCELLED_EXTERNALLY - FAILED_AML_SCREENING - INVALID_FEE - INVALID_THIRD_PARTY_RESPONSE - MANUAL_DEPOSIT_ADDRESS_REQUIRED - MISSING_DEPOSIT_ADDRESS - NO_DEPOSIT_ADDRESS - SUB_ACCOUNTS_NOT_SUPPORTED - SPEND_COINBASE_TOO_EARLY - THIRD_PARTY_INTERNAL_ERROR - TX_ID_NOT_ACCEPTED_BY_THIRD_PARTY - UNSUPPORTED_ASSET - DOUBLE_SPENDING - DROPPED_BY_BLOCKCHAIN - INSUFFICIENT_RESERVED_FUNDING - INVALID_SIGNATURE - PARTIALLY_FAILED - POWERUP_SUGGESTION_FAILURE - REACHED_MEMPOOL_LIMIT_FOR_ACCOUNT - REJECTED_BY_BLOCKCHAIN - SMART_CONTRACT_EXECUTION_FAILED - TOO_LONG_MEMPOOL_CHAIN - '' TransferPeerPathSubType: type: string enum: - BINANCE - BINANCEUS - BITFINEX - BITHUMB - BITMEX - BITSO - BITSTAMP - BITTREX - BLINC - BULLISHEXCHANGE - BYBIT - CIRCLE - COINBASEEXCHANGE - COINBASEPRO - COINMETRO - COINSPRO - CRYPTOCOM - DERIBIT - GEMINI - HITBTC - HUOBI - INDEPENDENTRESERVE - KORBIT - KRAKEN - KRAKENINTL - KUCOIN - LIQUID - OKCOIN - OKEX - PAXOS - POLONIEX - External - Internal TransferPeerPathType: type: string enum: - VAULT_ACCOUNT - EXCHANGE_ACCOUNT - INTERNAL_WALLET - EXTERNAL_WALLET - UNMANAGED_WALLET - CONTRACT - NETWORK_CONNECTION - FIAT_ACCOUNT - COMPOUND - GAS_STATION - ONE_TIME_ADDRESS - UNKNOWN - END_USER_WALLET - PROGRAM_CALL - MULTI_DESTINATION - OEC_PARTNER TravelRuleCreateTransactionRequest: type: object properties: originatorVASPdid: type: string description: The Decentralized Identifier (DID) of the exchange (VASP) that is sending the virtual assets. This identifier is unique to the exchange and is generated when the exchange's account is created in the Notabene network. example: did:ethr:0x44957e75d6ce4a5bf37aae117da86422c848f7c2 beneficiaryVASPdid: type: string description: The Decentralized Identifier (DID) of the exchange (VASP) that is receiving the virtual assets. This identifier is unique to the exchange and is generated when the exchange's account is created in the Notabene network. example: did:ethr:0x17fe2dd11a2daa7f6c1fdf22532a4763f963aea6 originatorVASPname: type: string description: The name of the VASP acting as the transaction originator. example: Originator VASP Ltd. beneficiaryVASPname: type: string description: The name of the VASP acting as the transaction beneficiary. example: Beneficiary VASP Inc. beneficiaryVASPwebsite: type: string description: The website of the VASP acting as the transaction beneficiary. example: https://www.beneficiaryvasp.com transactionBlockchainInfo: description: Information about the blockchain transaction. allOf: - $ref: '#/components/schemas/TravelRuleTransactionBlockchainInfo' originator: description: Information about the originator of the transaction. allOf: - $ref: '#/components/schemas/TravelRulePiiIVMS' beneficiary: description: Information about the beneficiary of the transaction. allOf: - $ref: '#/components/schemas/TravelRulePiiIVMS' encrypted: type: string description: Encrypted data related to the transaction. example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... protocol: type: string description: The protocol used to perform the travel rule. example: IVMS101 skipBeneficiaryDataValidation: type: boolean description: Whether to skip validation of beneficiary data. example: false travelRuleBehavior: type: boolean description: Whether to check if the transaction complies with the travel rule in the beneficiary VASP's jurisdiction. example: true originatorRef: type: string description: A reference ID related to the originator of the transaction. example: ORG123456 beneficiaryRef: type: string description: A reference ID related to the beneficiary of the transaction. example: BEN654321 travelRuleBehaviorRef: type: string description: A reference ID related to the travel rule behavior. example: TRB987654 originatorProof: description: Ownership proof related to the originator of the transaction. allOf: - $ref: '#/components/schemas/TravelRuleOwnershipProof' beneficiaryProof: description: Ownership proof related to the beneficiary of the transaction. allOf: - $ref: '#/components/schemas/TravelRuleOwnershipProof' beneficiaryDid: type: string description: "The Decentralized Identifier (DID) of the person at the receiving exchange (VASP). This identifier\ \ is generated when the customer is registered in the Notabene network, or automatically created based on the\ \ `beneficiaryRef`. - If neither `beneficiaryRef` nor `beneficiaryDid` is provided in the `txCreate` payload,\ \ \n a new random DID is generated for every transaction." example: did:key:z6Mkf67890Zghijkl67890 originatorDid: type: string description: "The Decentralized Identifier (DID) of the person at the exchange (VASP) who is requesting the withdrawal.\ \ This identifier is generated when the customer is registered in the Notabene network or automatically created\ \ based on the `originatorRef`. - If neither `originatorRef` nor `originatorDid` is provided in the `txCreate`\ \ payload, \n a new random DID is generated for every transaction." example: did:key:z6Mkf12345Zabcdef12345 isNonCustodial: type: boolean description: Indicates if the transaction involves a non-custodial wallet. example: true required: - originator - beneficiary TravelRuleDateAndPlaceOfBirth: type: object description: Represents the date and place of birth for a natural person properties: dateOfBirth: type: string description: Date of birth. The value must be encrypted. example: QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt placeOfBirth: type: string description: Place of birth. The value must be encrypted. example: QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt TravelRuleGeographicAddress: type: object properties: streetName: type: string description: Name of a street or thoroughfare. The value must be encrypted. example: QmZGXXsKPk5iPS97LLjXB5e8Qs555ocdzcpbPMXvt84Ji9 townName: type: string description: Name of a built-up area, with defined boundaries, and a local government. The value must be encrypted. example: QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt country: type: string description: Nation with its own government (ISO-3166 Alpha-2 country code). The value must be encrypted. example: QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm buildingNumber: type: string description: Number that identifies the position of a building on a street. The value must be encrypted. example: QmUFpNkxdsVtebDSUz5eP51kzoysXmqj2gBgeH11PD7SVP postCode: type: string description: Identifier consisting of a group of letters and/or numbers added to a postal address to assist the sorting of mail. The value must be encrypted. example: QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj addressType: type: string description: 'Specifies the type of address. Acceptable values are: - ''HOME'': Residential, the home address - ''BIZZ'': Business, the business address - ''GEOG'': Geographic, an unspecified physical (geographical) address The value must be encrypted.' example: Qmdr9LcChZsoivS6uAhe7Qk7cGLDAx73wBZTVvq4WoU71H department: type: string description: Identification of a division of a large organisation or building. The value must be encrypted. example: QmN7fb65x5MyA7RKyhbXaUKvJ7U4Y9eqpEZTmJYpNyEG8 subDepartment: type: string description: Identification of a sub-division of a large organisation or building. The value must be encrypted. example: QmTkfyGh54tXNqFxyEGK9NyTJZYpQ6RZ9zpNykxykME8s buildingName: type: string description: Name of the building or house. The value must be encrypted. example: QmXJfGk85t6RKyhbXaEK9Nz4MEeMKypq6EY9zpJyC9nM9 floor: type: string description: Floor or storey within a building. The value must be encrypted. example: QmZP5G7fhZpMyQxXnT9KyR6ybXaEM9zpJy4ME9MkTJGE1 postBox: type: string description: Numbered box in a post office. The value must be encrypted. example: QmTkfYRGK54xFqXyJYNZyE9kY9zpMKytJnXy5z9EME9sJ room: type: string description: Building room number. The value must be encrypted. example: QmRYXnT9KyhbXaEMZpMyxMkZ9zpYNYTJ4ME5kCGE7fhMJ townLocationName: type: string description: Specific location name within the town. The value must be encrypted. example: QmNpZTyXJXnT9K6EYZpQxYNYMkC5p4kGEfhnkMJzpYT9Jm districtName: type: string description: Identifies a subdivision within a country subdivision. The value must be encrypted. example: QmT9p6ERKyNYXnTyhbpMYJ4zpYT9kMJZT9QmEMGZ5kMhCy countrySubDivision: type: string description: Identifies a subdivision of a country, such as a state, region, or province. The value must be encrypted. example: QmK9yTbXaZpMYJYTYp6NT9QmEMGZT9p9kMJfhyGE4Z7k5C addressLine: type: array items: type: string description: Information that locates and identifies a specific address, presented in free-format text. Each item must be encrypted. example: - QmNp9kMjfhGZ5kMJzpNYXZTy6NQmZYEMGZ4kZT9Y6pNYT TravelRuleLegalPerson: type: object properties: name: type: object allOf: - $ref: '#/components/schemas/TravelRuleLegalPersonNameIdentifier' description: The structured name of the legal person, referencing name identifiers. geographicAddress: type: array items: $ref: '#/components/schemas/TravelRuleGeographicAddress' description: The array of geographic addresses associated with the legal person. nationalIdentification: $ref: '#/components/schemas/TravelRuleNationalIdentification' customerIdentification: type: string description: A unique identifier that identifies the customer in the organization's context. The value must be encrypted. example: QmRY9AA4Uit2JRTxDzfzshrJdTK86Kf5HriA3dXDnihDmy customerNumber: type: string description: A distinct identifier that uniquely identifies the customer within the organization. The value must be encrypted. example: QmXvyML3AJUFpBbJqL5NVp7Vn7xNkuedTsSMk93duLCNW8 countryOfRegistration: type: string description: The ISO-3166 Alpha-2 country code where the legal person is registered. The value must be encrypted. example: QmeoTk6UPruEAYNbJEAHdQYc53ap9BXmpnPMcuvs8wutdr TravelRuleLegalPersonNameIdentifier: type: object properties: legalPersonName: type: string description: Name by which the legal person is known. The value must be encrypted. example: QmVXXj5BJchhqQTU27uEkeghYMnxR6aVjZxJP9jS6uCg9Q legalPersonNameIdentifierType: type: string description: 'Specifies the type of name for a legal person. Acceptable values are: - ''REGISTERED'': The official registered name. - ''TRADE'': A trading name or DBA (Doing Business As) name. - ''OTHER'': Any other type of name. The value must be encrypted.' example: QmPevsa5xdkxf6Lgt7f9YweRBdgseeAkWVaYyssKF3Q86e TravelRuleNationalIdentification: type: object description: Represents a national identifier for a person or entity properties: countryOfIssue: type: string description: Country that issued the national identifier (ISO-3166 Alpha-2 country code). The value must be encrypted. example: QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm nationalIdentifier: type: string description: National identifier (max 35 characters). The value must be encrypted. example: QmdR6qLnZ7Kwf5cBaXG8QFQenEvRg9JNZeoPranVuGd63z nationalIdentifierType: type: string description: 'Type of national identifier. Acceptable values include: - ''PASSPORT'': Passport number - ''NATIONAL_ID'': National identification number - ''TAX_ID'': Tax identification number - ''SOCIAL_SECURITY'': Social security number The value must be encrypted.' example: QmUKTg3aFJFhMz1o9gPqA3MgTRwd2LvDLwWTPHYUoMEYVi registrationAuthority: type: string description: Registration authority (format -> RA followed by 6 digits). The value must be encrypted. example: QmV9KJMyT9RJzpYfhME5xNCZ4G67fEkzTpRMyJzp9kTNYk TravelRuleNaturalNameIdentifier: type: object properties: primaryIdentifier: type: string description: The primary identifier of the name. The value must be encrypted. example: QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv secondaryIdentifier: type: string description: The secondary identifier of the name. The value must be encrypted. example: QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv nameIdentifierType: type: string description: 'The type of the name identifier. The value must be encrypted. The value must be one of the following: [LEGL, DBA, TRAD, NICK, ALIA, MAID, FORM, PREV, BORN, OTHR].' example: QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv TravelRuleNaturalPerson: type: object properties: name: type: array items: $ref: '#/components/schemas/TravelRuleNaturalPersonNameIdentifier' description: An array of structured name identifiers for the natural person, referencing the TravelRuleNaturalPersonNameIdentifier schema. geographicAddress: type: array items: $ref: '#/components/schemas/TravelRuleGeographicAddress' description: An array of geographic addresses associated with the natural person, referencing the TravelRuleGeographicAddress schema. nationalIdentification: allOf: - $ref: '#/components/schemas/TravelRuleNationalIdentification' description: The national identification of the natural person, referencing the TravelRuleNationalIdentification schema. dateAndPlaceOfBirth: allOf: - $ref: '#/components/schemas/TravelRuleDateAndPlaceOfBirth' description: The date and place of birth of the natural person, referencing the TravelRuleDateAndPlaceOfBirth schema. customerIdentification: type: string description: A unique identifier for the customer within the organization's context. The value must be encrypted. example: QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj countryOfResidence: type: string description: The ISO-3166 Alpha-2 country code of the natural person's residence. The value must be encrypted. example: QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj customerNumber: type: string description: A distinct identifier that uniquely identifies the customer within the organization. The value must be encrypted. example: QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj TravelRuleNaturalPersonNameIdentifier: type: object properties: nameIdentifier: type: array items: $ref: '#/components/schemas/TravelRuleNaturalNameIdentifier' localNameIdentifier: type: array items: $ref: '#/components/schemas/TravelRuleNaturalNameIdentifier' phoneticNameIdentifier: type: array items: $ref: '#/components/schemas/TravelRuleNaturalNameIdentifier' TravelRuleOwnershipProof: type: object properties: type: type: string description: 'The type of ownership proof. Example values: - `eip-191`: Ethereum signature proof - `eip-712`: Ethereum typed data signature proof - `bip-137`: Bitcoin signature proof - `microtransfer`: Microtransaction (Satoshi test) - `screenshot`: Uploaded screenshot of the wallet - `self-declaration`: Checkbox attestation of ownership' example: eip-191 proof: type: string description: 'The cryptographic signature, transaction hash, or other proof depending on the type. Examples: - For `eip-191`: `0x3dd4a17a...ce4a2bcd1b` - For `microtransfer`: The transaction hash `H3V8GXBy39Dz...tr3TSTkY=`' example: 0x3dd4a17a...ce4a2bcd1b attestation: type: string description: 'A human-readable statement of wallet ownership. Required for signature proofs and self-declarations. Examples: - `I certify that ETH account 0x896B...0b9b belongs to me.` - `I hereby declare that the blockchain address 0xa437bEed902AF9338B7DEB23848e195d85019510 is under my control.`' example: I certify that ETH account 0x896B...0b9b belongs to me. address: type: string description: 'The wallet address being verified. Examples: - For Ethereum: `0x896B...0b9b` - For Bitcoin: `1442...dxhsQ`' example: 0x896B...0b9b wallet_provider: type: string description: 'The wallet provider or method used for verification. Examples: - For Metamask: `Metamask` - For manual signature: `manual`' example: Metamask url: type: string description: 'The URL for the uploaded screenshot (for `screenshot` proof types only). Example: `https://example.com/uploaded_image.png`' example: https://example.com/uploaded_image.png confirmed: type: boolean description: 'Whether the user confirmed ownership of the wallet (for `self-declaration` proofs). Example: `true`' example: true TravelRulePerson: type: object properties: naturalPerson: type: object allOf: - $ref: '#/components/schemas/TravelRuleNaturalPerson' legalPerson: type: object allOf: - $ref: '#/components/schemas/TravelRuleLegalPerson' TravelRulePersons: type: object allOf: - $ref: '#/components/schemas/TravelRulePerson' TravelRulePiiIVMS: type: object properties: originatorPersons: type: array description: Information about the originator of the transaction items: $ref: '#/components/schemas/TravelRulePersons' beneficiaryPersons: type: array description: Information about the beneficiary of the transaction items: $ref: '#/components/schemas/TravelRulePersons' accountNumber: type: array description: Beneficiary account number. The value must be encrypted. items: type: string example: QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt TravelRuleTransactionBlockchainInfo: type: object properties: txHash: type: string description: The hash of the transaction example: 66857308435587568925907217391782424136140297125402684115258137778343590111402 origin: type: string description: The origin address of the transaction example: 841132469470587054656177892491842814721854784787 destination: type: string description: The destination address of the transaction example: 841132469470587054656177892491842814721854784787 UnfreezeTransactionResponse: type: object properties: success: type: boolean UnsignedMessage: type: object properties: preHash: $ref: '#/components/schemas/PreHash' content: description: 'Content to sign on. - EIP-191: Requires a 32 byte-long string for ECDSA (hash of the actual message to sign) or any length for EdDSA, as prehashing is not required. - EIP-712: Requires an object specifying the structured data format, including `types`, `domain`, `primaryType`, and `message`. ' type: string example: ababababababababababababababababababbababababababbababababababab bip44addressIndex: description: BIP44 address index type: integer example: 0 bip44change: description: BIP44 change index type: number example: 0 derivationPath: type: array description: BIP44 full derivation path items: type: number example: - 44 - 60 - 0 - 0 - 0 type: type: string description: 'Typed Message Signing - message type. - EIP191 & EIP712: for ETH and all EVM based assets typed message signing - TIP191: For Tron (TRX) typed message signing - BTC_MESSAGE: For Bitcoin (BTC) typed message signing ' enum: - EIP191 - EIP712 - TIP191 - BTC_MESSAGE required: - content UnspentInput: description: 'A representation of an Unspent Transaction Output (UTXO). ' type: object properties: txHash: description: Transaction Hash type: string example: 6b21446af4a5e3ec588960d2338ab52428a3eb729038146ea09905199723061f index: description: The UTXO index (vOut) type: number example: 0 securitySchemes: bearerTokenAuth: type: http scheme: bearer bearerFormat: JWT ApiKeyAuth: type: apiKey in: header name: X-API-Key parameters: X-Idempotency-Key: name: Idempotency-Key in: header description: A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. required: false schema: type: string example: some-unique-id X-End-User-Wallet-Id: name: X-End-User-Wallet-Id in: header description: Unique ID of the End-User wallet to the API request. Required for end-user wallet operations. required: false schema: type: string format: uuid example: bd53b580-f69d-4ff9-ba9b-71ef02aaee13 responses: Error: description: Error Response headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorSchema'