Rebroadcast Transactions
The rebroadcast transactions feature automatically picks up stuck transactions that are no longer in the memory pool of the blockchain nodes and tries to resubmit them without any change to the original transaction. This reduces the burden on your end, as the stuck transactions are rebroadcasted automatically, without any input from your side!
Summarized
Transactions can get lost from the memory pool of the blockchain nodes, resulting in the transactions staying pending. The rebroadcast feature picks up the pending transactions and tries to rebroadcast them starting from the lowest nonce. The rebroadcast scans pending transactions every five minutes and each unique transaction gets a total of five retries. If a rebroadcasted transaction fails, there is a cooldown period of one hour before rebroadcasting it again.
- No input is required from your side. The rebroadcast mechanism is automatic.
- If a tx fails even after five retries, then you need to modify the tx request and check for possible errors, for example, a low gas fee.
Rebroadcast Feature
- A transaction is considered stuck if it's pending for more than one-hour.
- The rebroadcast will only pick up the transactions that are pending for more than one hour (stuck transactions).
- The rebroadcast scans every five minutes to search for stuck transactions.
- The stuck transactions are segregated by wallet
ID
. - The rebroadcast will start with the transaction with the lowest nonce from a wallet's stuck transactions.
- If the rebroadcasted transaction fails, there will be a one-hour cooldown period before the rebroadcast tries to submit it again.
- Each unique transaction will be given five retries (each unique tx is rebroadcasted five times).
- When rebroadcasting a transaction, the transaction is skipped if the gas price is lower than the current gas price.
- While rebroadcasting the stuck transactions, nothing is changed in the request body of the transaction.
- If a transaction fails five times, it will stay pending. This indicates that you need to evaluate the request body of the transaction and check for possible errors, for example, a low gas fee.
Why do transactions get stuck?
Mempool Expiry
Some blockchains automatically remove transactions from the mempool if they have been there for too long without being confirmed. The specific timeout period can vary by network. If a transaction is removed due to mempool expiry, it may need to be resent with a higher fee. During its time in the mempool, it might appear to be "lost."
Network Congestion
Blockchains have a limited capacity for processing transactions in each block. When the network is busy—like during periods of high demand—there's a backlog of transactions waiting to be confirmed. Even transactions with decent fees can get stuck if there's a surge in demand, causing delays.
Double-Spending Prevention
Blockchains are designed to prevent double-spending by ensuring each transaction is unique and properly recorded. If a transaction is detected as a potential double-spend (even mistakenly), it could be rejected or delayed by the network until the situation is resolved.
Insufficient Funds
If a transaction tries to use more funds than are available in the wallet, it will not be confirmed. The transaction will stay stuck until either the correct amount is available or the transaction is canceled.
Bugs or Network Issues
Sometimes, bugs in wallet software or issues with the network itself can cause transactions to get stuck. These situations are less common but can result in transactions not being processed as expected.
What do you have to do?
The rebroadcast feature is automatic and requires no input from your side. It will automatically pick up stuck transactions of each wallet starting with the lowest nonce and try to rebroadcast them. This feature saves you time and effort.