TransactionRequest

Struct TransactionRequest 

Source
pub struct TransactionRequest {
Show 26 fields pub operation: Option<TransactionOperation>, pub note: Option<String>, pub external_tx_id: Option<String>, pub asset_id: Option<String>, pub source: Option<SourceTransferPeerPath>, pub destination: Option<DestinationTransferPeerPath>, pub destinations: Option<Vec<TransactionRequestDestination>>, pub amount: Option<TransactionRequestAmount>, pub treat_as_gross_amount: Option<bool>, pub force_sweep: Option<bool>, pub fee_level: Option<FeeLevel>, pub fee: Option<TransactionRequestFee>, pub priority_fee: Option<TransactionRequestPriorityFee>, pub fail_on_low_fee: Option<bool>, pub max_fee: Option<String>, pub gas_limit: Option<TransactionRequestGasLimit>, pub gas_price: Option<TransactionRequestGasPrice>, pub network_fee: Option<TransactionRequestNetworkFee>, pub replace_tx_by_hash: Option<String>, pub extra_parameters: Option<ExtraParameters>, pub customer_ref_id: Option<String>, pub travel_rule_message: Option<TravelRuleCreateTransactionRequest>, pub auto_staking: Option<bool>, pub network_staking: Option<TransactionRequestNetworkStaking>, pub cpu_staking: Option<TransactionRequestNetworkStaking>, pub use_gasless: Option<bool>,
}

Fields§

§operation: Option<TransactionOperation>§note: Option<String>

Custom note, not sent to the blockchain, to describe the transaction at your Fireblocks workspace.

§external_tx_id: Option<String>

This parameter will become required for the Create a new transaction endpoint on March 1, 2026. This parameter allows you to add a unique ID of your own 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 the Get a specific transaction by external transaction ID to validate whether these transactions have been processed.

§asset_id: Option<String>

The ID of the asset to transfer; used for TRANSFER, MINT, or BURN operations. See the list of supported assets and their IDs.

§source: Option<SourceTransferPeerPath>§destination: Option<DestinationTransferPeerPath>§destinations: Option<Vec<TransactionRequestDestination>>

For UTXO based blockchains, you can send a single transaction to multiple destinations.

§amount: Option<TransactionRequestAmount>§treat_as_gross_amount: Option<bool>

"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.

§force_sweep: Option<bool>

For Polkadot, TON, Kusama and Westend transactions only. When set to true, Fireblocks will empty the asset wallet. 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.

§fee_level: Option<FeeLevel>

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.

§fee: Option<TransactionRequestFee>§priority_fee: Option<TransactionRequestPriorityFee>§fail_on_low_fee: Option<bool>

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.

§max_fee: Option<String>

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.

§gas_limit: Option<TransactionRequestGasLimit>§gas_price: Option<TransactionRequestGasPrice>§network_fee: Option<TransactionRequestNetworkFee>§replace_tx_by_hash: Option<String>

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.

§extra_parameters: Option<ExtraParameters>§customer_ref_id: Option<String>

The ID for AML providers to associate the owner of funds with transactions.

§travel_rule_message: Option<TravelRuleCreateTransactionRequest>§auto_staking: Option<bool>

This feature is no longer supported.

§network_staking: Option<TransactionRequestNetworkStaking>§cpu_staking: Option<TransactionRequestNetworkStaking>§use_gasless: Option<bool>
  • Override the default gasless configuration by sending true\false

Implementations§

Trait Implementations§

Source§

impl Clone for TransactionRequest

Source§

fn clone(&self) -> TransactionRequest

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TransactionRequest

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for TransactionRequest

Source§

fn default() -> TransactionRequest

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for TransactionRequest

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for TransactionRequest

Source§

fn eq(&self, other: &TransactionRequest) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for TransactionRequest

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for TransactionRequest

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,