Riding the wave, part 1: Tips for dealing with Bitcoin network congestion

Read on or skip to the instructions below….

 
Chart of the last two weeks of unconfirmed transactions, broken into different fee levels. Courtesy of:  Johoe's Bitcoin Mempool Statistics

Chart of the last two weeks of unconfirmed transactions, broken into different fee levels. Courtesy of: Johoe's Bitcoin Mempool Statistics

The end of March and first week of April saw congestion on the Bitcoin network at levels we haven’t seen since January 2018. This also coincided, as usual, with strong movements in the Bitcoin market price (in this case breaching $5,000 for the first time since November).

When there is increased demand to send on-chain Bitcoin transactions, the network often cannot keep up with the flow; the number of unconfirmed transactions increase. That’s what the chart here is showing, with the primary spikes occurring April 1-4.

When transactions exceed block capacity

The trouble with Bitcoin network congestion is that it results in slower confirmation times — the time it takes for your transaction to finalize on the Bitcoin network. Miners must choose transactions to include in their blocks, and these blocks are limited in their capacity. Miners usually pick the highest fee transactions first, then work their way down. Therefore, senders who pay a higher fee rate for their transactions will be prioritized for inclusion in the next block over those who pay a lower rate.

Why confirmations are important

Many websites wait for at least one confirmation before they will credit you with your transfer. Most crypto ATMs — including ours — will also wait for one confirmation before they can dispense your cash. If you have to wait several hours or even days for your transaction to confirm, that can be a serious inconvenience!

Caught off-guard

Most Bitcoin users are completely unaware of network congestion until one of their transactions gets “stuck” awaiting confirmation. While there is no risk of loss in a technical sense, the delay can cause significant complications (such as websites that never record the transaction and have to be contacted to resolve the issue). Modern wallets try to estimate the “correct” fee to pay given what they are seeing other transactions pay in the recent past, but this leaves a lot of room for error.

For example, if congestion is increasing, the wallets will typically underpay on their “normal” fee setting and the transactions will be stuck longer than strictly necessary. On the flip side, wallets will tend to overpay on fees when congestion is in decline, costing the user more money than necessary. Ironically, this overpaying effect also influences other wallets to overpay on their transactions, leading to a slower decline in the overall fee level than we might expect.

Practical Tips for Dealing with Bitcoin Network Congestion

When you are dealing with a “stuck” transaction from your own wallet:

  • Just wait. Sorry to say, but in most cases the best course of action is to do nothing. There is, technically, no risk of loss from a stuck transaction, so either your transaction will confirm eventually, or it will be “dropped” by the network as if it never happened (your bitcoin will appear again in your wallet). While your transaction is stuck, however, that bitcoin is inaccessible.

    You can reduce the time you have to wait for future transactions, however, by paying a higher fee rate (see below).

  • Try a CPFP transaction. Child-Pays-For-Parent is a technique where you can send the change from your last (stuck) transaction to yourself, paying a high fee rate and hoping that a miner will pick up this transaction that must include the one that is stuck.

    Unless you have an advanced wallet where you can select your specific change outputs, most people can do CPFP by just sending the entire balance of their wallet back to themselves. You can copy an address from your wallet, paste it into the Send form, and then select the option to send everything. You have to send with a high fee for this to have a chance at helping your stuck transaction. Always double-check that everything is correct before sending!

BEFORE you send a transaction:

  • Choose a higher fee. A few wallets don’t give you a choice on fees, but most will and usually on the final confirmation screen before you send off your payment. Some are plainly visible, some hidden behind “three-dot” menus, and some buried in the main Settings menu of your wallet.

    Learn how to change the fee level in your wallet and select High or Priority when sending something you need to confirm quickly (such as a cash withdrawal from an ATM). Double-check the new fee before sending it off, however! Wallets can sometimes select fees that are way too high. Always double-check the address, amount, and fee amount of your transaction before broadcasting it to the Bitcoin network.

  • Use a “Segwit”-compatible Bitcoin wallet. Segwit is an upgrade to the Bitcoin network from 2017 that enables more transactions to fit into existing Bitcoin block sizes. Segwit wallets will pay a lower fee for the same confirmation “priority” on the network, saving you money. We recommend a few Segwit mobile apps, including Edge, but there are Segwit-compatible desktop and hardware wallets out there as well. Check for Segwit compatibility on your wallet’s documentation or website.

    Easy rule of thumb: With rare exception, your wallet will be Segwit compatible if it is giving you addresses that begin with “3” instead of “1”. If your wallet is giving you addresses beginning with “bc1” then you are definitely Segwit compatible. If your wallet gives you a choice of address types, know that only bitcoin previously received to a “3” or “bc1” address can be sent on with lower fees.