Transaction Lifecycle
As transactions progress from creation through completion, they can follow several workflows, during which they take on various statuses.
Transaction statuses
The table below lists possible Fordefi transaction statuses and their meanings.
Status | API Request Response | Meaning |
---|---|---|
PENDING APPROVAL | waiting_for_approval | The transaction is pending approval by the designated approvers. The approvers are those designated by relevant policy rules. |
PENDING SIGNATURE | approved | The transaction was approved and is waiting for the relevant signer (initiator/API signer/end user) to sign it. |
WAITING TO BE PUSHED | signed | The transaction was signed by Fordefi and is waiting to be sent to the blockchain. |
WAITING TO BE MINED | pushed_to_blockchain | The transaction was signed and pushed into the mempool and is waiting to be mined. Note: Transactions are mined in the order they were submitted to the mempool, per vault and chain. |
QUEUED | queued | Transactions in Ethereum-based blockchains are mined in order, based on the nonces that were allocated to them. If there is already a transaction in the WAITING TO BE MINED or STUCK state, any new transaction will be QUEUED. |
MINED | mined | The transaction has been mined—meaning the transaction has been added to the blockchain. Not enough blocks have passed to be considered COMPLETED. |
COMPLETED | completed | The transaction was completed successfully. |
STUCK | stuck | The transaction is stuck in the mempool for over ten minutes, usually caused by low fees. See Accelerate a Transaction or Cancel a Transaction. |
ACCELERATING | accelerating | The transaction is being replaced by a transaction with the same parameters but a higher fee. |
CANCELING | canceling | The transaction is being canceled, and a new effectless transaction is being submitted. |
ACCELERATED | accelerated | The accelerating replacement transaction was mined, successfully accelerating the original transaction. See Accelerate a Transaction. |
CANCELED | canceled | The canceling replacement transaction was mined, successfully canceling the original transaction. See Cancel a Transaction. |
ABORTED | aborted | The user aborted the transaction, which is only possible if the transaction is PENDING APPROVAL or PENDING SIGNATURE. After being pushed to the blockchain, aborting is no longer possible. |
DROPPED | dropped | A transaction is considered DROPPED if it is not mined within two minutes after being sent to the chain. Currently applies only to the Solana blockchain. |
ERROR PUSHING TO CHAIN | error_pushing_to_blockchain | An error occurred, and the transaction was not pushed to the blockchain. |
MINED REVERTED | mined_reverted | The transaction was mined but reverted, often due to an error in the contract or transaction generation. |
COMPLETED REVERTED | completed_reverted | The transaction was reverted, usually due to an error in the contract or the way the transaction was generated. |
Mined delay
When transactions are sent to the mempool, they wait to be picked up by a miner and included in a block. However, due to possible forks (where two or more blocks were produced at the same time and one of them will eventually be dropped and not included in the chain), Fordefi keeps a buffer and finds the right balance between showing the most updated status of the transaction, while being as safe as possible from forks.
To provide more information about the current state of the block, Fordefi assigns one of two statuses:
- MINED: Indicates that the transaction has been included in the chain after the specified number of blocks has been mined.
- COMPLETED: Indicates that the transaction has been included in the chain after the specified number of blocks has been mined and now the chances of a fork are practically at zero.
For EVM chains, the expected time to pass until the transaction is mined is about 12 seconds and 60 seconds for completion.
Functionality | Network | Type | Number of blocks until MINED | Number of blocks until COMPLETED | Seconds between blocks |
---|---|---|---|---|---|
Mainnet | Arbitrum One | EVM | 10 | 50 | 0-1 |
Avalanche | EVM | 5 | 25 | 2 | |
Base | EVM | 6 | 30 | 2 | |
BNB Chain | EVM | 4 | 20 | 3 | |
Blast | EVM | 3 | 30 | 2 | |
Canto | EVM | 2 | 10 | 6 | |
Conflux | EVM | 5 | 50 | 1 | |
Dymension | EVM | 2 | 10 | 6 | |
Ethereum | EVM | 1 | 5 | 12 | |
Fantom | EVM | 10 | 50 | 1 | |
Gnosis | EVM | 20 | 100 | 10 | |
Kava | EVM | 2 | 10 | 6 | |
Linea | EVM | 1 | 5 | 12 | |
Manta Pacific | EVM | 1 | 6 | 10 | |
Mantle | EVM | 40 | 200 | < 1 | |
Merlin | EVM | 7 | 36 | 1.67 | |
Optimisim | EVM | 5 | 25 | 1-2 | |
Polygon zkEvm | EVM | 25 | 25 | ~120 (batches) | |
Reya | EVM | 6 | 30 | 2 | |
Scroll | EVM | 2 | 10 | 6 | |
Sei v2 | EVM | 27 | 136 | 0.4 | |
Xai | EVM | 8 | 42 | 1-2 | |
zkLink Nova | EVM | 6 | 25 | 4 | |
zkSync Era | EVM | 6 | 30 | 2 | |
Solana | Solana | 1 | 30 | 0.4 | |
Akash | Cosmos | - | 1 | 6 | |
Archway | Cosmos | - | 1 | 6 | |
Axelar | Cosmos | - | 1 | 6 | |
Celestia | Cosmos | - | 1 | 12 | |
Cosmos Hub | Cosmos | - | 1 | 6 | |
dYdX | Cosmos | - | 1 | 1 | |
Dymension | Cosmos | - | 1 | 6 | |
Noble | Cosmos | - | 1 | 6 | |
Osmosis | Cosmos | - | 1 | 7 | |
Sei | Cosmos | - | 1 | 0.5 | |
Stride | Cosmos | - | 1 | 6 | |
Bitcoin | Bitcoin | 1 | 2 | 600 | |
Sui | Sui | - | 1 | 1 | |
Aptos | Aptos | - | 1 | 0.25 | |
TON | TON | 10 | 0 | 4 | |
Testnet | Arbitrum Sepolia | EVM | 10 | 50 | 0-1 |
Flare | EVM | 6 | 46 | 1-2 | |
Sepolia | EVM | 1 | 5 | 15 | |
Solana devnet | Solana | - | 10 | 0.4 | |
Bitcoin Testnet | Bitcoin | 1 | 10 | 600 | |
Sui Testnet | Sui | - | 1 | 1 | |
-Aptos Testnet | Aptos | 1 | 0.15 |
Transaction workflow
The schematic below describes the transaction workflow and possible outcomes.