Notes
- The Parallel Transactions Wallet feature only needs to be enabled if you want to perform parallel processing on EVM blockchains supported by Fireblocks. Contact your Customer Success Manager for more information.
- By default, all customers can access parallel processing for SOL and TRON.
- The Parallel Transactions Wallet feature cannot be enabled if a wallet uses Raw Signing for transactions.
Overview
To avoid nonce synchronization issues, Fireblocks currently only processes one transaction per wallet per blockchain at a given time. However, by opting into the Parallel Transactions Wallet feature, you can perform and sign EVM-based transactions simultaneously and sequentially.
Parallel Transactions Wallet changes the transaction flow by showing a Pending Signature status when transactions are performed in parallel:
Mining & nonces
Transactions are selected for mining sequentially, meaning those with a lower nonce are prioritized over those with a higher nonce. If a lower-nonce transaction is stuck in the mempool, all subsequent higher-nonce transactions also become stuck. When you replace the stuck lower-nonce transaction, block producers can then select and mine the subsequent higher-nonce transactions.
If multiple pending transactions exist in the mempool and one transaction is replaced, all subsequent transactions are then mined. When trying to cancel a transaction where all subsequent transactions are pending in the mempool, you can decide to fail the subsequent transactions instead of creating a new transaction that would cause them to be executed.
Transaction failure & resolution
If a single transaction fails within a submitted transaction sequence, subsequent transactions remain pending in the mempool. For example:
- If you create three ETH transactions with nonces [3, 4, 5] and the transaction with nonce 4 fails, the transaction with nonce 5 will remain stuck until another transaction with nonce 4 is mined.
- The transaction with nonce 3 will be mined independently of the subsequent transactions.
If a transaction fails in a sequence of chained transactions, the nonce manager detects the failure and reuses the failed transaction's nonce for the next transaction in the mempool. This requires no manual adjustments or specifying of a nonce.
However, you must resubmit the failed transaction or initiate any other transaction from the relevant wallet to get the queue unstuck.
Canceling transactions with an RBF request
If you want to cancel multiple transactions that have a higher nonce, you must issue an RBF request to drop all pending transactions in reverse order (higher nonce to lower nonce).
Important
Make sure to drop the stuck transactions before executing an additional transaction to release the entire queue.