It’s not uncommon for Bitcoin transactions to take a while before being confirmed. As traffic increases on the network, speeds tend to decelerate while transaction fees increase in price. On rare occasions, transactions take abnormally longer than usual, making users panic. Bitcoin finality on average takes about 10 minutes, so when you’re yet to see a confirmation notice after 30+ minutes, it can start to feel like something’s wrong.
The same can be said about Ethereum, with more significant network congestion and unpredictable gas fees, transaction times are just as incalculable.
Fortunately, there are ways to circumvent this predicament; neither Bitcoin nor Ethereum have a customer support system, so users are solely responsible for their funds. To understand resolving a technical issue such as stalling transactions, we must first assess what’s taking place when a transaction ceases to finalize. From there, we can explore solutions to fixing the problem.
What does it mean for a transaction to get stuck?
Before a transaction is added to the blockchain, the network must first process it, which begins in what is known as a memory pool (mempool). A mempool serves as a waiting room for transactions looking to be confirmed and added to a block. Network miners known as “nodes” aggregate transactions from this pool to fill up a block before adding it to the blockchain. When a transaction takes longer than expected to process, it generally means your transaction has yet to be chosen and confirmed by a node.
While users have no control over when their transactions are confirmed, there are external factors that can influence the likelihood of being selected by nodes:
- Miners are awarded block rewards for adding new blocks to the chain, as well as the processing fees within the new block; opting for low fees before initiating a Bitcoin transaction will likely result in longer waiting times before it is confirmed.
- A majority of custodial BTC wallets establish processing fees on behalf of the user so fees are automatically calculated upon facilitating a new transaction. Checking and modifying these settings can establish a set of fees created by you.
Exploring a network’s mempool can assist you in finding the best fees and the best time to interact with the network.
Mempools portray the current state of the network in terms of congestion and fees. As mentioned earlier, fees increase as a network becomes flooded with user activity; the mempool’s size increases as well with all the confirmed transactions waiting to be finalized. Before they are added to the mempool, node validators must first confirm that transactions are valid. Users can find their transactions within a mempool if they possess the transaction ID, from there, the status of the transaction will indicate if it has been confirmed or not. The contents of the Bitcoin and Ethereum mempool are public information, various websites offer insight into the network.
How to fix a pending Bitcoin transaction
Resolving this issue may seem challenging, but there are minor changes users can make to increase the likelihood of their transactions getting finalized quicker. Bitcoin fees cover the block space taken up when adding new blocks to the chain; fees are determined not by the amount of funds being transferred, but by the amount of space that the transaction requires. Increasing fees can expedite processing since miners are more likely to add your transaction to their block. This can normally be accomplished from the settings of your custodial wallet, but certain peer-to-peer platforms like Cashapp allow users to choose the speed at which their transactions are to be confirmed. Their withdrawal speed options range from a Standard fee, a Rush fee, or a Priority fee. For example, the “rush” withdrawal speed costs up to 211 sats (satoshis) at the time of writing, whereas the “priority” withdrawal speed estimates to be around 350 sats; the standard option is free, and these funds are pulled from a user’s Bitcoin balance in their wallet on Cashapp.
Certain custodial wallets also allow users to conduct a Replace-by-fee (RBF) transaction, which indicates to a network that you may be conducting the same transaction at a different time with a higher processing fee. Before a transaction is initiated, it must specify the ability to be updated after being conducted. You can specify transactions by changing the input sequence(nSequence) of your transaction. An input sequence deals with a transaction’s timestamp and allows it to be altered if necessary. Transactions can only be updated while in the mempool, once it’s been added to a block and finalized, it’s irreversible.
Similar to an RBF transaction, instead of altering a transaction’s nSequence, users can create an identical transaction using the funds from the original one and pay a higher processing fee. The two transactions’ fees are added together to further incentivize a miner to confirm them. This technique is known as a Child Pays for Parent (CPFP) transaction. A transaction with 175 sats in transaction fees is likely to sit in the mempool for an extensive amount of time as miners are looking for transactions holding more processing funds. A duplicated transaction can be made with around 350 sats and the two transactions will appear as one with a total of 525 sats being paid in fees.
Are my funds at risk?
In the event of a Bitcoin transaction stalling, a user is not at risk of losing their funds. Transactions in a mempool can sit there for 2 weeks before expiring, in which case the funds are returned to the sender. Miners are also known to fill their blocks with transactions, and once they reach the maximum capacity (300MB), they will dump low-fee transactions to aggregate more with higher fees. Users don’t have to do anything but wait for either a confirmation or return notice. However, third-party services can be an excellent resource for expediting the waiting game. ViaBTC, one of the largest BTC mining pools on the market, utilizes their hashing power to include clients’ transactions in their blocks. Users can use the free or paid service; by providing the transaction ID, ViaBTC can grab a user’s transaction out of the mempool.
Low gas fees are a common issue among users on MetaMask, a leading non-custodial cryptocurrency wallet for the Ethereum blockchain. Similar to the Bitcoin network, ETH validators that add blocks to the chain are compensated the transaction fees for that block as well. Gas prices serve as a bid for validators to select your transaction quicker, once confirmed, your gas fees are allocated to the selected validator. Ethereum block explorer Etherscan has a gas tracker for insight on gas fees based on current network traffic.
How to resolve a pending MetaMask transaction
When a transaction seems to have stalled, the first thing that can be done is to close out your browser, reopen it, and log back into your MetaMask account. This should update the application and display the most accurate status for your transaction. If it continues to stall from there, you have two options: speeding up the transaction or canceling it.
- Metamask gives you the option of speeding up a transaction by resubmitting it with a higher gas fee, which could entice validators to select yours. Keep in mind that transactions can not be canceled more than once, so you may only speed up a single transaction once.
- Canceling a transaction can be done in two ways, the most common method is by clicking “Cancel” which sits next to the “Speed Up” button beneath a pending transaction. You may only attempt to cancel a transaction while it is still pending; once confirmed on a blockchain, transactions become immutable.
Blockchain transactions that seem to have stalled are normally just waiting in queue to be selected by miners. Miners look for transactions with higher fees in exchange for a greater payout when adding their block to the chain.