Understanding Fees on the Bitcoin Network
When a user creates a Bitcoin transaction, they have to include a transaction fee to be paid to miners to incentivize miners to add their transaction to the blockchain.
When a miner finds a block, they get a block reward plus the transaction fees associated with transactions in the block.
Given this, and the fact that each block contains a limited amount of space, miners will generally try to add transactions with higher fees to the blockchain first.
Consequently, this means that users creating Bitcoin transactions are in a constant bidding war where the cost of transactions fluctuates based on the amount of transactions needing to be processed.
An unprocessed transaction sits in a pool of unconfirmed transactions called the Bitcoin mempool. To avoid a transaction sitting around unconfirmed, users creating transactions might opt to pay higher fees than those who aren’t in a rush.
What is the current average fee? For more info on fees and the current average fees (i.e. what you should include in a transaction) see https://bitcoinfees.info. In general that site will show you next block, 3 block, and 6 block average fees. Each block takes about 10 minutes. So if you want your transaction to be processed within 10 minutes, be safe and pay a little higher than the next block average.
Why is my transaction pending / unconfirmed / taking a long time? If your transaction is pending or unconfirmed, it is because it hasn’t be processed yet. If it is taking a long time, it is likely the network is either really busy or you didn’t include a large enough fee. That said, you should also check the address you sent to, and if using a third party platform make sure you didn’t for example send to a Segwit address from a platform that doesn’t allow sending to Segwit addresses.
If you use a third party, you can’t control fee amounts: On exchanges and with some brokers, fee amounts are fixed.
What if a transaction doesn’t get confirmed? Bitcoin transactions will eventually either be confirmed or rejected by the network. A rejected transaction results in the funds remaining in the wallet the transaction was made from (typically in between 1 and 7 days). In words, if you send to an invalid Bitcoin address, or if you include fees that are too small or no fees at all, or if for any reason your unconfirmed transaction is bound for rejection, you will not lose your funds. However, if you send to an incorrect but valid Bitcoin address, you will effectively lose the funds you sent.
IMPORTANT: The actual cost of a transaction fluctuates. Check the average costs in the moment before including a transaction fee. To be on the safe side include higher than average fees to increase your chances of your transaction being included in the next block (within roughly 10 minutes).