fireblocks Off Exchange API
The Off Exchange API from fireblocks — 5 operation(s) for off exchange.
The Off Exchange API from fireblocks — 5 operation(s) for off exchange.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/fireblocks-off-exchange-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Fireblocks Blockchains and Assets Approval Requests Off Exchange API
description: 'Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain.
- Visit our website for more information: [Fireblocks Website](https://fireblocks.com)
- Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)
'
version: 1.8.0
contact:
email: developers@fireblocks.com
servers:
- url: https://api.fireblocks.io/v1
description: Fireblocks Production Environment Base URL
- url: https://sandbox-api.fireblocks.io/v1
description: Fireblocks Sandbox Environment Base URL
security: []
tags:
- name: Off Exchange
paths:
/off_exchange/add:
post:
summary: Add Collateral
description: 'Add collateral and create deposit request.
Learn more about Fireblocks Off Exchange in the following [guide](https://developers.fireblocks.com/docs/off-exchange).
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.'
tags:
- Off Exchange
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AddCollateralRequestBody'
responses:
'200':
description: A transaction object
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTransactionResponse'
default:
$ref: '#/components/responses/Error'
operationId: addOffExchange
x-readme:
code-samples:
- language: typescript
code: 'const response: Promise<FireblocksResponse<CreateTransactionResponse>> = fireblocks.offExchanges.addOffExchange(offExchangesApiAddOffExchangeRequest);'
name: Fireblocks SDK TypeScript example
- language: java
code: CompletableFuture<ApiResponse<CreateTransactionResponse>> response = fireblocks.offExchanges().addOffExchange(addCollateralRequestBody, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.off_exchanges.add_off_exchange(add_collateral_request_body, idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: 'const response: Promise<FireblocksResponse<CreateTransactionResponse>> = fireblocks.offExchanges.addOffExchange(offExchangesApiAddOffExchangeRequest);'
- lang: Java
source: CompletableFuture<ApiResponse<CreateTransactionResponse>> response = fireblocks.offExchanges().addOffExchange(addCollateralRequestBody, idempotencyKey);
- lang: Python
source: response = fireblocks.off_exchanges.add_off_exchange(add_collateral_request_body, idempotency_key);
/off_exchange/remove:
post:
summary: Remove Collateral
description: 'Remove collateral and create withdraw request.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.'
tags:
- Off Exchange
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RemoveCollateralRequestBody'
responses:
'200':
description: A transaction object
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTransactionResponse'
default:
$ref: '#/components/responses/Error'
operationId: removeOffExchange
x-readme:
code-samples:
- language: typescript
code: 'const response: Promise<FireblocksResponse<CreateTransactionResponse>> = fireblocks.offExchanges.removeOffExchange(offExchangesApiRemoveOffExchangeRequest);'
name: Fireblocks SDK TypeScript example
- language: java
code: CompletableFuture<ApiResponse<CreateTransactionResponse>> response = fireblocks.offExchanges().removeOffExchange(removeCollateralRequestBody, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.off_exchanges.remove_off_exchange(remove_collateral_request_body, idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: 'const response: Promise<FireblocksResponse<CreateTransactionResponse>> = fireblocks.offExchanges.removeOffExchange(offExchangesApiRemoveOffExchangeRequest);'
- lang: Java
source: CompletableFuture<ApiResponse<CreateTransactionResponse>> response = fireblocks.offExchanges().removeOffExchange(removeCollateralRequestBody, idempotencyKey);
- lang: Python
source: response = fireblocks.off_exchanges.remove_off_exchange(remove_collateral_request_body, idempotency_key);
/off_exchange/settlements/trader:
post:
summary: Create Settlement for a Trader
description: 'Create settlement for a trader.
Learn more about Fireblocks Off Exchange in the following [guide](https://developers.fireblocks.com/docs/off-exchange).
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.'
tags:
- Off Exchange
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SettlementRequestBody'
responses:
'201':
description: A settlement object
content:
application/json:
schema:
$ref: '#/components/schemas/SettlementResponse'
default:
$ref: '#/components/responses/Error'
operationId: settleOffExchangeTrades
x-readme:
code-samples:
- language: typescript
code: 'const response: Promise<FireblocksResponse<SettlementResponse>> = fireblocks.offExchanges.settleOffExchangeTrades(offExchangesApiSettleOffExchangeTradesRequest);'
name: Fireblocks SDK TypeScript example
- language: java
code: CompletableFuture<ApiResponse<SettlementResponse>> response = fireblocks.offExchanges().settleOffExchangeTrades(settlementRequestBody, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.off_exchanges.settle_off_exchange_trades(settlement_request_body, idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: 'const response: Promise<FireblocksResponse<SettlementResponse>> = fireblocks.offExchanges.settleOffExchangeTrades(offExchangesApiSettleOffExchangeTradesRequest);'
- lang: Java
source: CompletableFuture<ApiResponse<SettlementResponse>> response = fireblocks.offExchanges().settleOffExchangeTrades(settlementRequestBody, idempotencyKey);
- lang: Python
source: response = fireblocks.off_exchanges.settle_off_exchange_trades(settlement_request_body, idempotency_key);
/off_exchange/settlements/transactions:
get:
summary: Get Settlements Transactions
description: 'Get settlements transactions from exchange.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.'
tags:
- Off Exchange
parameters:
- in: query
name: mainExchangeAccountId
required: true
schema:
type: string
responses:
'200':
description: A settlement transactions
content:
application/json:
schema:
$ref: '#/components/schemas/ExchangeSettlementTransactionsResponse'
default:
$ref: '#/components/responses/Error'
operationId: getOffExchangeSettlementTransactions
x-readme:
code-samples:
- language: typescript
code: 'const response: Promise<FireblocksResponse<GetSettlementResponse>> = fireblocks.offExchanges.getOffExchangeSettlementTransactions(offExchangesApiGetOffExchangeSettlementTransactionsRequest);'
name: Fireblocks SDK TypeScript example
- language: java
code: CompletableFuture<ApiResponse<GetSettlementResponse>> response = fireblocks.offExchanges().getOffExchangeSettlementTransactions(mainExchangeAccountId);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.off_exchanges.get_off_exchange_settlement_transactions(main_exchange_account_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: 'const response: Promise<FireblocksResponse<GetSettlementResponse>> = fireblocks.offExchanges.getOffExchangeSettlementTransactions(offExchangesApiGetOffExchangeSettlementTransactionsRequest);'
- lang: Java
source: CompletableFuture<ApiResponse<GetSettlementResponse>> response = fireblocks.offExchanges().getOffExchangeSettlementTransactions(mainExchangeAccountId);
- lang: Python
source: response = fireblocks.off_exchanges.get_off_exchange_settlement_transactions(main_exchange_account_id);
/off_exchange/collateral_accounts/{mainExchangeAccountId}:
get:
summary: Find a specific collateral exchange account
description: 'Returns a collateral account by mainExchangeAccountId.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.'
tags:
- Off Exchange
parameters:
- in: path
name: mainExchangeAccountId
required: true
description: The id of the main exchange account for which the requested collateral account is associated with
schema:
type: string
example: c2896695-4263-40af-a15c-4348b294b5c4
responses:
'200':
description: An ExchangeAccount object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ExchangeAccount'
default:
$ref: '#/components/responses/Error'
operationId: getOffExchangeCollateralAccounts
x-readme:
code-samples:
- language: typescript
code: 'const response: Promise<FireblocksResponse<ExchangeAccount>> = fireblocks.offExchanges.getOffExchangeCollateralAccounts(offExchangesApiGetOffExchangeCollateralAccountsRequest);'
name: Fireblocks SDK TypeScript example
- language: java
code: CompletableFuture<ApiResponse<ExchangeAccount>> response = fireblocks.offExchanges().getOffExchangeCollateralAccounts(mainExchangeAccountId);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.off_exchanges.get_off_exchange_collateral_accounts(main_exchange_account_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: 'const response: Promise<FireblocksResponse<ExchangeAccount>> = fireblocks.offExchanges.getOffExchangeCollateralAccounts(offExchangesApiGetOffExchangeCollateralAccountsRequest);'
- lang: Java
source: CompletableFuture<ApiResponse<ExchangeAccount>> response = fireblocks.offExchanges().getOffExchangeCollateralAccounts(mainExchangeAccountId);
- lang: Python
source: response = fireblocks.off_exchanges.get_off_exchange_collateral_accounts(main_exchange_account_id);
components:
schemas:
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
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"
TravelRulePersons:
type: object
allOf:
- $ref: '#/components/schemas/TravelRulePerson'
ExchangeType:
description: Exchange account's type
type: string
enum:
- INDEPENDENT_RESERVE
- ENCLAVE_MARKETS
- BIT
- COINFLEX
- KUCOIN
- PXS
- LIQUID
- BITHUMB
- BITFINEX
- BITSO
- BITSTAMP
- KRAKEN
- KRAKENINTL
- BINANCE
- BINANCEUS
- CRYPTOCOM
- BYBIT_V2
- COINBASEPRO
- COINBASEPRIME
- COINBASEINTERNATIONAL
- WHITEBIT
- COINBASEEXCHANGE
- KORBIT
- HITBTC
- GEMINI
- CIRCLE
- BITMEX
- HUOBI
- DERIBIT
- OKCOIN_V5
- OKEX
- COINMETRO
- GATEIO
- SCRYPT
- COINHAKO
- LIGHTBIT
- BULLISH
- CANVAS_CONNECT
- BITGET
- LUNO
- BIT_GENERA
- TRANSFERO
RemoveCollateralRequestBody:
type: object
properties:
transactionRequest:
$ref: '#/components/schemas/TransactionRequest'
isDstCollateral:
type: boolean
description: optional
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
ExchangeTradingAccount:
type: object
properties:
type:
type: string
name:
type: string
assets:
type: array
items:
$ref: '#/components/schemas/ExchangeAsset'
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.
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
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
AddCollateralRequestBody:
type: object
properties:
transactionRequest:
$ref: '#/components/schemas/TransactionRequest'
isSrcCollateral:
type: boolean
description: optional
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
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
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'
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’s 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."
**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.'
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 depreca
# --- truncated at 32 KB (56 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fireblocks/refs/heads/main/openapi/fireblocks-off-exchange-api-openapi.yml