As transactions progress from creation through completion, they can follow several workflows, during which they take on various statuses.
The table below lists possible Fordefi transaction statuses and their meanings.
| Status | API Request Response | Meaning |
|---|---|---|
| CANNOT CREATE TRANSACTION | cannot_create_transaction | The transaction cannot be created due to a policy violation or because the recipient is a sanctioned address. |
| PENDING APPROVAL | waiting_for_approval | The transaction is pending approval by the designated approvers (as determined 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 pushed to 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 | On Ethereum-based chains, transactions are mined in nonce order. If there is already a transaction in WAITING TO BE MINED or STUCK, any new transaction will be QUEUED. |
| MINED | mined | The transaction was mined (added to the blockchain). Not enough blocks have passed for it to be considered COMPLETED. |
| COMPLETED | completed | The transaction completed successfully. |
| STUCK | stuck | The transaction has been in the mempool for over 10 minutes, usually due to low fees. See Release a Transaction (release-transaction). |
| ACCELERATING | accelerating | The transaction is being replaced by another transaction with the same parameters but a higher fee. |
| CANCELING | canceling | The transaction is being canceled by submitting a new “effectless” transaction. |
| ACCELERATED | accelerated | The replacement (accelerating) transaction was mined, successfully accelerating the original transaction. See Accelerate a Transaction (release-transaction). |
| CANCELED | canceled | The replacement (canceling) transaction was mined, successfully canceling the original transaction. See Release a Transaction (release-transaction). |
| ABORTED | aborted | The user aborted the transaction. This is only possible while the transaction is PENDING APPROVAL or PENDING SIGNATURE. After it’s pushed to the blockchain, aborting is no longer possible. |
| DROPPED | dropped | On chains with a predetermined transaction expiration time, a transaction is DROPPED if it isn’t mined before it expires. |
| 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 a contract error or transaction-generation issue. |
| COMPLETED REVERTED | completed_reverted | The transaction ultimately reverted, usually due to a contract error or how the transaction was generated. |
| WAITING FOR SIGNING TRIGGER | waiting_for_signing_trigger | A transaction that was created with sign mode TRIGGERED is waiting to be triggered. |
| PENDING EXCHANGE | pending_exchange | A withdrawal from an exchange was submitted to the exchange and is pending processing. |
| SENT TO PROVIDER | sent_to_provider | A swap transaction was sent to a provider for fulfillment. |
| ERROR SIGNING | error_signing | An error occurred while signing the transaction. |
| INSUFFICIENT FUNDS | insufficient_funds | A UTXO transaction does not have enough inputs to sign the transaction. |
| ERROR SUBMITTING TO EXCHANGE | error_submitting_to_exchange | An error occurred while submitting a withdrawal request to an exchange. |
| ERROR SUBMITTING TO PROVIDER | error_submitting_to_provider | An error occurred while sending a transaction fulfillment request to a provider. |
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 | |
| Berachain | EVM | 6 | 30 | 2 | |
| BNB Chain | EVM | 4 | 20 | 3 | |
| Blast | EVM | 3 | 30 | 2 | |
| Canto | EVM | 2 | 10 | 6 | |
| Clink | EVM | 1 | 1 | < 1 | |
| Conflux | EVM | 5 | 50 | 1 | |
| Dymension | EVM | 2 | 10 | 6 | |
| Ethereum | EVM | 1 | 5 | 12 | |
| Fantom | EVM | 10 | 50 | 1 | |
| Flare | EVM | 18 | 92 | < 1 sec | |
| Gnosis | EVM | 20 | 100 | 10 | |
| HyperEvm | EVM | 120 | 120 | 1 | |
| Ink | EVM | 12 | 60 | 1 | |
| Katana | EVM | 12 | 60 | 1 | |
| 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 | |
| Monad | EVM | 30 | 150 | < 1 sec | |
| Optimism | EVM | 5 | 25 | 1-2 | |
| Plasma | EVM | 12 | 60 | 1 | |
| Polygon | EVM | 0 | 25 | 2 | |
| Polygon zkEvm | EVM | 25 | 25 | ~120 (batches) | |
| Reya | EVM | 6 | 30 | 2 | |
| Rootstock | EVM | 1 | 2 | 30 | |
| Scroll | EVM | 2 | 10 | 6 | |
| Sei v2 | EVM | 27 | 136 | 0.4 | |
| Sonic | EVM | 0 | 7 | 2 | |
| Unichain | EVM | 12 | 60 | 1 | |
| Xai | EVM | 8 | 42 | 1-2 | |
| zkLink Nova | EVM | 6 | 25 | 4 | |
| zkSync Era | EVM | 6 | 30 | 2 | |
| 0g | EVM | 7 | 32 | 2 | |
| 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 | UTXO | 0 | 2 | 600 | |
| Bitcoin Cash | UTXO | 0 | 2 | 600 | |
| Doge | UTXO | 0 | 2 | 60 | |
| Starknet | Starknet | 0 | 0 | 30 | |
| Tron | Tron | 0 | 0 | 3 | |
| Solana | Solana | 1 | 30 | 0.4 | |
| Sui | Sui | - | 1 | 1 | |
| Aptos | Aptos | - | 1 | 0.25 | |
| TON | TON | 10 | 0 | 4 | |
| Stacks | STX | 0 | 0 | ~20 | |
| Testnet | Arbitrum Sepolia | EVM | 10 | 50 | 0-1 |
| Clink | EVM | 1 | 1 | < 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 | |
| Tron Shasta | Tron | 0 | 0 | 3 |
The schematic below describes the transaction workflow and possible outcomes.
