Overview
UTXO-based assets, such as Bitcoin, Cardano, Bitcoin SV, Bitcoin Cash, Dash, Litecoin, and ZCash, support sending a single transaction to multiple destinations. Effectively, you can execute several "sub-transactions" in a single blockchain transaction that divides the value you transfer across multiple destinations. This can help you to save on transaction fees and make the operation more efficient.
Use the Fireblocks API to send a single transaction to multiple destinations. You can specify the amount per destination. All destination types are supported, and you can send transfers to more than one destination type at the same time.
The transaction only requires a single transaction fee, paid by the sender.
All destinations are logged in the Transaction History.
Note:
UTXO Transactions with multiple destination cannot use TreatAsGrossAmount.
API
Create a new transaction via the Fireblocks API and use the destinations
parameter instead of destination
. Each destination should be specified with its destination type and destination ID. Learn more about creating transactions in the Fireblocks API Developer Portal.
Transaction Authorization Policy
Each transaction destination is treated as a separate transaction according to your Transaction Authorization Policy (TAP). Each output will be checked against the policy's rules and the most stringent rule will be applied for each sub-transaction within the transaction. If there are different approval flows for different outputs, each output requires its own transaction approval. If any output is rejected, the entire transaction will be blocked.
To apply a policy rule based on the aggregated transaction amount, use time-based rules in your policy.