Learn

|

Mining

What are Bitcoin fees?

The fees paid to miners to get transactions confirmed

Bitcoin fees (aka transaction fees or on-chain fees) are an amount of bitcoin paid to miners as an incentive to include a transaction on the blockchain.

Bitcoin transactions are recorded on a decentralized database called a blockchain, which is maintained by a global network of nodes and miners.

Miners are computers that compete to add the next block of transactions to the blockchain in a process known as mining. To incentivize miners to include their transactions in the blocks they add, users can pay fees. Fees are a way of prioritizing transactions in a fair and open system.

Prioritization of transactions is necessary due to the limited block space in Bitcoin. Each block has a fixed capacity, preventing unlimited transactions per block. Without this limit, the entire blockchain would become impractically large for regular people to download and verify, compromising decentralization and security.

The market for fees

Bitcoin fees operate on a free-market principle, where users can set any fee for their transactions and miners can select any transactions to include in the blocks they add. Paying higher fees increases the likelihood that a transaction will be confirmed sooner, while lower fees may result in delayed confirmations, or simply never being confirmed at all. By having a fee market, frivolous or “spam” transaction can be prevented.

Fees are one of the two components of the block reward, along with the block subsidy, which is how miners earn their revenue. With the subsidy steadily diminishing over time according to Bitcoin’s supply schedule, fees become an increasingly important source of revenue. This revenue incentivizes miners to continue securing the network, making it impractical for anyone to block, manipulate or reverse transactions.

Overall, fees serve as a mechanism to prioritize transactions, prevent spam, and ensure network security as a source of miner revenue.

How do fees work?

Bitcoin transactions have inputs and outputs. The input is where the bitcoin is coming from, (referencing a previous transaction’s output) and the output is the destination of the transaction.

This is known as the UTXO (“Unspent Transaction Output”) model, where each input is simply an output of a previous transaction. What this means is that amounts of bitcoin exists as discrete portions, rather than an account balance, and have transaction history.

The difference between the input amount and the output amount is the fee, payable to the miner.

Since block space is limited, fees are based on the data size of a transaction rather than its financial value. This means a transaction involving 9 bitcoin could occupy the same bytes of data and pay the same fee as a transaction involving 1 bitcoin. Since transactions can have one or more inputs and one or more outputs, the more complex a transaction is, the more data it will require and more fees.

Fees are measured in satoshis per virtual byte, or “sats/vbyte”. You can check out the current market rate for fees at mempool.space.

Inputs, outputs and fees

Transactions can have one or more inputs and one or more outputs, which requires more data as they become more complex. The difference between the total input amount and the total output amount are the fees, which are paid to the miner.

For example, if you want to send 0.2 bitcoin to a friend and you have a UTXO of 1 bitcoin, your transaction will look like this:

  • Input: 1 bitcoin UTXO
  • Output 1: 0.2 bitcoin to your friend’s address
  • Output 2: 0.799 bitcoin back to one of your addresses (aka a “change address”)
  • Fee: The difference of 0.001 bitcoin goes to the miner

Valid transactions that have been broadcast by users, but not yet been added to the blockchain are called “unconfirmed” transactions. These transactions are verified by the network of nodes, then sit and wait in their memory pool (aka “mempool”). The miner that finds a winning hash earns the right to add the next block to the blockchain and gets to select which transactions from the mempool to include in the block.The higher the fee, the more likely a transaction will be added by the miner in their block.

What makes fees go up or down?

In Bitcoin’s early days, fees were very low, but as Bitcoin adoption has grown, so has network traffic and the competition to get transactions confirmed quickly. Since fees operate in a free market, more transactions can bid up the fee price.

Several factors influence fee prices:

  • Network traffic: When there are lots of people trying to get their transactions confirmed on the blockchain, the competition for the limited block space drives up fees.
  • Data size: Transactions with more inputs and outputs, or those using complex scripts, occupy more data and thus incur higher fees.
  • Transaction type: Some transactions, such as those with multi-signature or older formats, use more data than newer, more efficient formats, like SegWit.

If you must make an on-chain transaction immediately, you are at the mercy of the fee market. Paying the current rate for the next block doesn’t necessarily guarantee confirmation in that block. Overpaying fees can be costly and can mean the transaction isn’t very economical. However, underpaying or setting a fee too low could delay your transaction by several blocks, potentially hours.

Fee management strategies

To manage fee costs, try these strategies:

  1. Monitor fee rates: Check sites like mempool.space to monitor current fee rates and identify periods of higher or lower fees.
  2. Target a few blocks away: If you are able to wait, consider delaying your on-chain transaction or setting your fees to target multiple blocks away instead of the next block.
  3. Manage your UTXOs: If you self-custody your bitcoin, it’s essential to manage your UTXOs, especially their sizes. This can ensure that even in high-fee environments your bitcoin won’t become uneconomical or unspendable. Read more about UTXO management here.
  4. Use the Lightning Network: Lightning enables real bitcoin transactions off-chain, avoiding block times and on-chain fees by using direct payment channels. The Lightning Network’s routing fees are cheaper than on-chain fees, making Lightning ideal for smaller payments or when on-chain fees are high.
  5. Use the Strike app: Strike offers free on-chain withdrawals, so you can skip the fees altogether. Strike is able to offer free on-chain withdrawals by combining and batching multiple transactions together and delaying the broadcast of the transactions by 12-48 hours to target optimum fee rates.

The Strike app supports payments via on-chain, Lightning, or directly between users with either cash or bitcoin, as a seamless experience. When making an on-chain payment, you can select between Priority, Standard, or Flexible delivery times, which will adjust the fees for your transaction. Flexible delivery times (aka free on-chain withdrawals) pay no fees.

Lightning

What is the Lightning Network?

The global bitcoin payments network that’s instant, private, and low-to-no cost

Business

What is the Strike widget?

Add a “Buy bitcoin” button to your app

Bitcoin

What is the bitcoin supply schedule?

The pre-programmed pace from zero to 21 million

Markets

What is the Bitcoin halving?

The automatic reduction in Bitcoin’s supply-issuance rate

Lightning

What is a Lightning invoice?

Bitcoin payment requests within the Lightning Network

Lightning

Using Bitcoin to send money abroad

Bitcoin's Lightning Network makes global money transfers faster and cheaper

© 2024 NMLS ID 1902919 (Zap Solutions, Inc.)

Get off zero.

Strike

BitcoinAll in on bitcoinPaymentsSend GloballyBusinessAPI

Platform