During times of extreme market excitement, the capacity of Bitcoin gets strained. That means that Bitcoin transactions become expensive and slow. Some may even become "stuck". Here's what to do...

1/
First, check and see how congested things are. A great site for this is Johoe's Bitcoin Mempool statistics:

https://core.jochen-hoenicke.de/queue/#1,24h 

That rising mountain is 6hrs of activity. There are already 30,000 transactions willing to pay more than 50 satoshis per byte

2/
Transaction fees are measured in satoshis per virtual byte (vbyte). Different transaction types have different sizes, depending on the complexity, number of inputs/outputs and address type being spent.

A typical size (one input, two outputs) is about 144 vB.

/3
At a current fee rate, you might have to pay 0.0002 BTC or so to get your transaction confirmed within 3 blocks. That's for a typical sized transaction.

/4
Some wallets won't let you set the fee rate or confirmation target. Some wallets also estimate fees very conservatively and aggressively overpay fees. That's because if your transaction is stuck you complain to the wallet devs. If you overpay fees you blame the bitcoin devs

/5
If your wallet doesn't allow you to estimate fees or its fee estimation seems to be too conservative, use a different wallet. Another big reason for high fees is legacy address use. Different bitcoin addresses cost up to 40% less in fees for the sender.

/6
If you use a wallet that creates "legacy" addresses that start with a "1", then choose a different wallet and move your money when the network isn't congested.

Addresses that start with "3" (wrapped Segwit) are better. Those that start with "bc1" (native Segwit) are best

/7
Before sending a transaction you should also check if your wallet supports fee "bumping" with RBF or CPFP. If you can later "bump" the fee up, you can afford to be cheap at first and see if you get lucky. If you can't bump, you run the risk of getting your Tx stuck.

/8
Again, good wallets do Replace-By-Fee (RBF) and Child-Pays-For-Parent (CPFP) to help you manage a congested network and not get your Tx stuck. If your wallet doesn't do those things... consider changing wallets.

/9
Now, you're ready to send a transaction. If you have RBF, pick a low fee and see what happens. Later you can increase the fee and keep increasing it until you get the result you want. But what if you already sent a transaction, without RBF and it got stuck?

/10
First of all, DON'T PANIC. It's important to understand that in Bitcoin your money can't get lost "in limbo". If you create a transaction and it is not getting confirmed, your money is not at risk of being lost. It will either confirm or it won't and your money is safe

/11
Bitcoin transactions are "atomic", meaning they are indivisible. The money is not removed from your wallet and sent somewhere before arriving at another wallet. If the transaction isn't confirmed, you have the money. If it is confirmed, the recipient has the money. No limbo

/12
In order to prevent weird user behavior, your wallet will "hide" the balance of coins that you have tried to spend with a pending transaction. It will show your balance decreased by that amount. But in reality, the coins are still in your wallet.

/13
The transaction spending hasn't happened until... it has. Before confirmation, you have the money. After confirmation the recipient has the money. A block mined containing your Tx signals the change in state.

/14
How long can a transaction stay "stuck". If the network remains congested and the fee remains low, it can be up to 14 days before the network drops it and you can see the balance again. "Up to" because it usually takes 2-3 days before the network drops your Tx.

/15
That's because the reason the network isn't confirming it is that there are too many transactions queued competing for space. The queue itself is limited in size, so the same thing (congestion) preventing your Tx from confirming is likely to cause it to be dropped faster too.
/16
The queue where transactions are held before confirmation is called "the mempool". Thing is however, there is no "the" mempool. There is "a mempool" on every Bitcoin node. It's a decentralized system. Every node keeps a mempool of waiting transactions.

/17
That also means that sometimes your transaction will get dropped from most places but re-broadcast by nodes that have kept it. That can delay the eventual confirmation/rejection of your Tx, leaving it in limbo longer.

/18
Transaction fees are a complicated topic, but they're part of what makes Bitcoin free and decentralized. No one but you can decide how "important" a transaction is. You decide and you tell the miners with your fee choice.

/19
If you want to have control over this vital part of the Bitcoin system, you need to carefully choose a wallet that allows you to control these things. A non-custodial wallet where you can set the fee rate, get good estimates and "bump" with RBF and CPFP.

Choose well!
You can follow @aantonop.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled:

By continuing to use the site, you are consenting to the use of cookies as explained in our Cookie Policy to improve your experience.