What are Bitcoin Transaction fees?
Transaction fees are included with your bitcoin transaction in order to have your transaction processed by a miner and confirmed by the Bitcoin network. The space available for transactions in a block is currently artificially limited to 1 MB in the Bitcoin network. This means that to get your transaction processed quickly you will have to outbid other users.
This site keeps a record of how Bitcoin transaction fees evolve over time.
The fees shown at the historic charts and tables are in US dollars per transaction and in satoshis per byte.
We also show the latest fee estimate in US Dollars/transaction in the list below. To calculate the fees per transaction, we consider that the average Bitcoin transaction is about <?php echo($transactionsize); ?> bytes big.
Bitcoin Transaction Fees Explained in Detail
Bitcoin fees are a fascinating component of the network’s game theory and an indispensable element without which the whole project’s economic sustainability becomes questionable.
Whenever a transaction is sent, miners demand for an arbitrary amount of bitcoin fractions (denominated in satoshis, the hundred millionth part of 1 BTC) so that they add that specific transaction in the next block.
This is how Bitcoin network participants wage a bidding war for block space: miners set their minimum fee, while users choose how soon they want their transaction to get the first confirmation. Paying a higher fee guarantees greater priority, and thus a quicker validation.
Receiving any fee as a miner is a subsidy for operation costs and an extra factor that guarantees profitability. In the long run, fees also guarantee more security for the Bitcoin network and the elimination of spam transactions.
This whole game theory of Bitcoin fees is a beautiful snapshot of free markets in decentralized systems. The cost of having a transaction included in the next block varies according to the dynamics of supply and demand: sometimes you can get away with one satoshi per vbyte (so an average transaction will cost around 120 sats), or other times you will have to either let those who paid more take the priority or pay more yourself.
While some miners will only pick up high-fee transactions (a practice that can be implemented by large mining pools), others will be incentivized to also catch a large number of small ones as an application of economies of scale: instead of waiting for the few high fees, miners can simply collect thousands of 1 sat/vbyte subsidies.
Bitcoin transaction fees are essentially calculated according to a simple mathematic formula: you calculate the difference between the amount that is spent and the amount that is received. While it’s possible to send a transaction with a zero fee, it’s very unlikely for miners to pick it up.
Therefore, it’s better to set a minimum of 1 sat/vbyte and wait until the mempool clears than to take the risk of never receiving a confirmation.
A Short History of Bitcoin Fees and Why They Matter
In the beginning, fees existed in Bitcoin for the purpose of preventing spam transactions that could eventually clog the blockchain. The idea wasn’t new, as Satoshi Nakamoto borrowed it from Adam Back’s 2002 iteration of hashcash (which was also cited in the Bitcoin Whitepaper ).
In July 2010, Bitcoin developer Gavin Andresen has highlighted a source code rule that imposed a 0.01 BTC minimum transaction fee. At today’s market valuation of bitcoin (approximately $10.000), the transaction cost would be $100. But at the time, it was cheaper than a few cents.
At the time, bitcoins were barely worth anything and it was important for the network mempool (the memory pool which stores unconfirmed transactions until they get picked up by miners) to not get flooded.
As years passed and the BTC price went up, the fees have also increased. This phenomenon was caused by both an increasing demand for block space (more transactions were being broadcast every day) and the BTC-dollar market valuation ratio itself. All of a sudden, 0.01 BTC meant a small fortune and even 100 satoshis became one cent when the price of bitcoin reached 10.000 USD.
Some early bitcoiners who bought into the narrative of “nearly free” transactions were disappointed by the rising fee costs (in US dollars) and demanded for a block size increase to increase the throughput.
On the other hand, the engineers and developers realized that the diminishing block mining rewards will need to be compensated by transaction fees. Therefore, in order for Bitcoin to keep its security, a fee market must develop as a financial supplement for miners.
Info: In a nutshell, Bitcoin fees went from preventing transaction spam to becoming an essential element of the mining profitability. And as the mining rewards get reduced in half every four years, fees will become even more important in the economic game theory of the network.
How To Set Bitcoin Fees
Most modern wallets enable you to set the Bitcoin fee in a simple and comprehensive way. For convenience and ease of use, lots of them opt in for a priority system: you can either opt for a high fee in order to get a confirmation in the next block, or you can pay less and potentially delay the process.
However, before sending any transaction, it’s important to check the mempool to see the average Bitcoin fee. Mempool.space is perhaps the best graphical representation of what’s going on with the Bitcoin network in terms of demand for block space and fees.
The “blocks” menu basically shows how quickly transactions will get included into blocks depending on the fee, while the “graphs” menu highlights transaction size/weight statistics.
Another valuable and well-reputed resource is Johoe’s Bitcoin Mempool Statistics. The website features a collection of graphs that will help you better understand what’s going on with Bitcoin fees and unconfirmed transactions.
However, the more technical and lesser newbie-friendly presentation makes it more fitting for users who are well-versed with the mechanisms of the Bitcoin network.
After you check either of these resources to make sure that your transaction will not get stuck in the mempool, you are ready to manually set your Bitcoin fees.
On the other hand, if you simply want to use a system of priority and estimation, you can also rely on the tools that developers have added to remove the requirement for technical understanding.
For instance, Bitcoin Core (the free and open-source desktop wallet that runs a full Bitcoin node) offers multiple options for time preference. However, the estimations are not always accurate (but in a good sense): if the mempool is empty and you send a transaction that you want to confirm in 7 days (1008 blocks), then you shouldn’t be surprised if it gets confirmed in less than one hour.
If you are afraid that the mempool might feel when you expect it the least and your transaction may lose priority, then you can also choose to use the “Replace-By-Fee” (RBF) option. This means that you can bump the fee after your transaction gets broadcast and registered in the mempool, so that it becomes a priority for miners.
Wasabi Wallet takes the design of selecting the fee to the next level of elegance with a bar that you simply drag from left to right in order to choose when you want your transaction to be delivered and how much you want to pay in USD. The CoinJoin-friendly desktop wallet chooses the most intuitive way of allowing the user to determine costs, and the implementation is worthy of praise.
The article can’t possibly be concluded without including a mobile solution. Blockstream Green is one of the friendliest yet feature-packed wallets on the market. The best part about Green is that it’s available in the iOS App Store, Android Google Play Store, and also the F-Droid repository. Furthermore, Blockstream’s wallet can route the connection through Tor for greater privacy, connect to a hardware wallet like a Ledger or Trezor, and even work on the Bitcoin Testnet and Liquid sidechain.
The Blockstream Green design for determining fees is based on three presets that highlight time preference: fast (for confirmation within 30 minutes), medium (the default setting, which should confirm within 2 hours), and slow (whose lower cost will bring the first confirmation in about four hours).
The system is popular among mobile wallet developers, as it appeals to newbies and gets the job done without causing confusion. And for the more advanced users, there is always the manual “Custom” option which allows them to check the mempool and set the fees according to their own analysis.