Every bitcoin transaction must be added to the blockchain, the official public ledger of all bitcoin transactions, in order to be considered successfully completed or valid. The work of validating transactions and adding them to the blockchain is done by miners, powerful computers that make up and connect to the network. Miners spend vast amounts of computing power and energy doing this for a financial reward: with every block (a collection of transactions not exceeding 1 MB in size) added to the blockchain comes a bounty called a block reward (currently 12.5 BTC), as well as all fees sent with the transactions that were included in the block.
For this reason, miners have a financial incentive to prioritize the validation of transactions that include a higher fee. For someone looking to send funds and get a quick confirmation, the appropriate fee to include can vary greatly, depending on a number of factors. While the fee does not depend on the amount you’re sending, it does depend on network conditions at the time and the data size of your transaction.
Because a block on the bitcoin blockchain can only contain up to 1 MB of information, there is a limited number of transactions that can be included in any given block. During times of congestion, when a large number of users are sending funds, there can be more transactions awaiting confirmation than there is space in a block.
When a user decides to send funds and the transaction is broadcast, it initially goes into what is called the memory pool (mempool for short) before being included into a block. It is from this mempool that miners choose which transactions to include, prioritizing the ones with higher fees. If the mempool is full, the fee market may turn into a competition: users will compete to get their transactions into the next block by including higher and higher fees. Eventually, the market will reach a maximum equilibrium fee that users are willing to pay and the miners will work through the entire mempool in order. At this point, once traffic has decreased, the equilibrium fee will go back down.
Again due to the fact that a block on the bitcoin blockchain can contain no more than 1 MB of information, transaction size is an important consideration for miners. Smaller transactions are easier to validate; larger transactions take more work, and take up more space in the block. For this reason, miners prefer to include smaller transactions. A larger transaction will require a larger fee to be included in the next block.
There is no simple way to calculate a transaction size by hand. Your Blockchain wallet will automatically do this for you, and suggest an appropriate fee.
Fees in the Blockchain wallet
Blockchain wallet users will always have options when it comes to bitcoin transaction fees. Our wallet uses dynamic fees, meaning that the wallet will calculate the appropriate fee for your transaction taking into account current network conditions and transaction size.
You can choose between a Priority fee and a Regular fee. The Priority fee is calculated to get your transaction included in a block within the hour. The Regular fee is lower, and is for users who can afford to be a bit more patient; a confirmation for a transaction that includes a Regular fee will typically take a bit more than an hour.
Advanced users can set custom fees for their transaction in units of satoshi per byte (sat/b) by pressing Customize Fee and entering an amount. Please note that setting too low a fee may cause your transaction to remain unconfirmed for a long time and possibly be rejected. Customize your transaction fee at your own risk.
If you want to take a deeper dive into bitcoin transaction fees, this blog post provides a comprehensive overview of what fees are and how they work, and this one elaborates on some frequently asked questions. If you have an unconfirmed transaction, you can learn more about what this means here.