Overview
Sometimes a transaction may appear more than once in the Recent activity panel and Transaction History even though the funds have only been transferred once on the blockchain. In these cases, each item displays the same transaction hash.
Multi-operation transactions
Every transfer of funds appears independently in the Transaction History. For example, if a contract call transaction results in several assets being transferred from or to multiple vault accounts, each separate asset, source, or destination will have its own row in the Transaction History. However, all rows have the same Fireblocks transaction ID and transaction hash.
When using the Fireblocks API, this is called Network Records and is shown as a single transaction.
These complex transactions appear as a single transaction card in the Recent activity panel without detailing each distinct movement of funds.
Wallet creation transactions
Some token transfers on Stellar and Solana also create a destination asset wallet, which requires a second transaction. In this case, two transactions are created with the same transaction hash. The transaction types are identified as ENABLE_ASSET and either TRANSFER or CONTRACT_CALL.
A whitelisted or one-time address is a vault account address
If an address exists in a vault account in your Fireblocks workspace, selecting that vault account as the transaction destination is recommended when using the Fireblocks Console or Fireblocks API. However, it is possible to whitelist a deposit address from one of your vault accounts or to enter an address manually using a one-time address (OTA). Sometimes this is useful for:
- Identifying two distinct transactions in your transaction history for double-entry bookkeeping.
- Creating transactions with a source and destination address in the same vault account. This is only possible for blockchains that support multiple deposit addresses, such as Bitcoin, and can be used for consolidating UTXO inputs. Learn more about UTXO input management.
If a transaction is from a vault account to an internal whitelisted address or OTA that exists in a different vault account, two transactions with the same transaction hash and different Fireblocks transaction IDs are shown in the Recent activity panel and the Transaction History. One is shown with the source as the vault account and the whitelisted wallet as the destination. The second is shown with an external source and a vault account destination. The transfer amounts are different because the destination does not receive the transaction fees.
If the transaction is from a vault account to a whitelisted address or OTA in the same vault account, the transaction appears once in the Recent activity panel and the Transaction History.
Fireblocks strongly recommends using whitelisted addresses instead of OTAs whenever possible to increase safety and avoid errors.
Transactions from an exchange account to a vault account
If you create a transaction in your Fireblocks workspace from a connected exchange account to a vault account, Fireblocks monitors the transaction in two different ways:
- Fireblocks initiates the withdrawal from the exchange and waits for the withdrawal confirmation and transaction hash from the exchange via the exchange API connection.
- Fireblocks monitors blockchain nodes for all interactions with deposit addresses in your vault accounts.
Sometimes Fireblocks detects an incoming transaction to a vault account in your workspace via the public blockchain before the exchange provides a withdrawal confirmation. Fireblocks waits up to five minutes to receive the transaction hash from the exchange. During this time, the transaction displays a pending confirmation status. If Fireblocks does not receive the withdrawal confirmation and transaction hash from the exchange within five minutes, Fireblocks attempts to match the public transaction record and exchange confirmation using additional transaction details.
Because these events occur at the same time using different sources of information, the transaction may appear twice in the Recent activity panel and your Transaction History. If this issue occurs and both items are complete and remain separate, contact Fireblocks Support to request unifying the transaction record.