Bitcoin transaction fees are an essential component of the blockchain network. When Satoshi Nakamoto created the Bitcoin blockchain, he implemented transaction fees in order to prevent spam transactions that could slow down and clog the network. Transaction fees incentivize miners to validate transactions and subsidize the diminishing block subsidy, helping support network security by keeping miners profitable.
Bitcoin Fees Are Like Air Travel
There is only so much space on an airplane, and so when you want to fly at a busy time of year, you will inevitably pay more. If you want to bring a bunch of luggage with you on the flight, that will also increase the cost of the trip.
Similarly, Bitcoin transaction fees are determined by demand for being included in the next block. And the larger your transaction is (in terms of data), the more expensive the fee.
What Are Bitcoin Transaction Fees?
A Bitcoin transaction fee is what a user pays to miners to get their transaction included in the blockchain. The more a user pays, the higher the chance their transaction will be picked up immediately as there is only a limited amount of space in each block.
Bitcoin transaction fees are an important income stream for miners alongside the block subsidy. Users who pay transaction fees are contributing to the security of the bitcoin network.
Once a miner has validated a new block, they receive the transaction fees and block subsidy associated with that block. The sum of the transaction fees and block subsidy is the block reward.
With each Bitcoin halving, the block subsidy drops and miners earn less, so transaction fees play a significant role to keep the network secure in the long term.
How are Transaction Fees Determined?
Transaction fees on Bitcoin are mostly determined by two factors:
- The “size,” or data volume of the transaction.
- Users’ demand for block space. The faster a user wants their transaction confirmed, the more fees they will be willing to pay (generally).
A block can contain a maximum of 4 MB of data, so there is a limit to how many transactions can be processed in one block. A larger transaction will take up more block data. Thus, larger transactions typically pay higher fees on a per-byte basis.
If you are sending a transaction with the help of a Bitcoin wallet, the wallet should display an option for you to select your fee rate. This fee rate will be calculated in satoshis per unit of data your transaction will consume on the blockchain, abbreviated as sats/vByte. The total fee paid by your transaction will then be this rate multiplied by the size of your transaction.
Historically, transaction fees average between $0.50 - $2.50. But as you can see in the graph below, during periods of high demand for block space, transaction fees have a tendency to spike.
If you wish to have your transaction confirmed immediately, your optimal fee rate may vary depending on the above factors. Best practice in determining an optimal fee rate is to consult your preferred block explorer, like mempool.space. Be aware that fee estimation algorithms are fallible in certain instances; if you need your transaction confirmed ASAP, better to err on the side of caution, and pay a higher fee.
- Mathematically, transaction fees are the difference between the amount of bitcoin sent and the amount received.
- Conceptually, transaction fees are a reflection of the speed with which a user wants their transaction validated on the blockchain.
SegWit Impacts How Transaction Fees Are Determined
SegWit introduced the concept of weight units into Bitcoin, along with the witness field. Both of these concepts–weight units and the witness field–augment the “size” factor described in the previous section.
Effectively, the upgrade provides a discount (monetary incentive) for using SegWit-compatible transaction structures.
Bitcoin Transaction Speed
Transaction fees tend to also reflect the speed with which the user wants to have a transaction validated. When a user initiates a bitcoin transaction, it goes into the mempool. Upon validation, it is included in the block. Miners choose which transactions to validate and include in the block.
When there is a backlog of transactions waiting to be validated, it creates an incentive for miners to process transactions with higher fee rates first. Most miners target transactions with high fee to byte ratios, because they are trying to make the most revenue. When network transactions begin to reduce, transaction fees will fall.
Bitcoin Exchange and Brokerages Fees
In addition to network transaction fees, Bitcoin exchanges and brokerages charge an entirely separate fee for using their service. Primarily, exchanges facilitate matching buyers and sellers and charge a fee for doing so.They calculate their fee in two ways: A flat fee per transaction, or as a percentage of 30-day total transaction volume. In both cases, exchanges implement a tiered fee structure based on the total dollar volume traded.
These fee structures are meant to incentivize frequent trading. As a result, fees are proportionally lower for high-value and high-frequency transactions. Small, infrequent transactions often carry higher fees in this circumstance
Fees on the Lightning Network
Whereas on-chain fees are determined by the volume of data being moved on the blockchain and user demand for transaction confirmations, Lightning Network fees are determined in part by the value of the transaction being sent along the network.
“The scarce resources that a blockchain consumes are energy and file space. The Lightning network consumes a different scarce resource — capital.” - Chris Stewart, Co-Founder & CEO of SuredBits
Payments on the Lightning Network cannot succeed unless (1) there is a route between the payer and payee—which can be indirect—and (2) that route is sufficiently liquid. As an example, suppose Alice wants to send a 1 BTC payment to Bob, but the only routes available are made of channels with 0.5 BTC in capacity. In this scenario, it would be impossible for Alice to pay Bob 1 BTC (directly). She would have to settle for two, 0.5 BTC payments.
Fees on the Lightning Network are broken into two categories, but it is important to note here that these fees vary on a node-to-node basis.
- Base Fee – a flat rate charged on a per-transaction basis. Expressed in thousandths of a satoshi.
- Liquidity Provider Fee also known as Fee Rate – a percentage fee charged on the value of a payment. Expressed in millionths of a satoshi transferred.
On the Lightning Network, node operators are able to set their fees at whatever level they feel compensates them for locking up liquidity.
- Bitcoin transaction fees are determined by the data volume of the transaction, and user demand for block space.
- Miners receive transaction fees when a new block has been validated, supporting the profitability of mining.
- Lightning Network transaction fees are set by node operators and can vary from node to node.