You are at: Home » Bitcoin » Transaction Fees
Last updated on:
Fact Checker

The Complete Guide to Bitcoin Fees

By: Alexander Reed | Last updated: 1/16/24

This guide will explain the basics of Bitcoin fees, from how they are calculated, what they are used for, and how to speed up a slow transaction.

Don’t like to read? Watch our video guide instead

Bitcoin Fees Guide Summary

Bitcoin transaction fees (sometimes referred to as mining fees) allow users to prioritize their transactions (sometimes referred to as tx) over others and get included faster into Bitcoin’s ledger of transactions known as the blockchain.

To determine whether a transaction in the blockchain is worth their while to include, miners will take a look at which transaction has the highest fee attached. Not paying enough fees can sometimes get your transaction stuck for a very long time.

That’s Bitcoin fees in a nutshell. For a detailed explanation, keep on reading. Here’s what I’ll cover:

  1. What are Bitcoin Transaction Fees?
  2. How are Bitcoin Fees Calculated?
  3. Calculating Transaction Size
  4. Reducing Transaction Fees
  5. How Wallets Deal with Fees
  6. Frequently Asked Questions
  7. Conclusion

1. What are Bitcoin Transaction Fees?

Fees are what Bitcoin owners pay to Bitcoin miners whenever they transfer funds to another Bitcoin address. But in order to understand fees in detail, we first need to understand what happens when you send Bitcoins to another address:

1. The transaction is checked by every computer holding a copy of the Bitcoin blockchain for validity (these computers are also known as nodes).

Basically, at this stage, the nodes are checking Bitcoin’s transaction history to prove that you actually have the Bitcoins you want to spend in your balance.

2. After a transaction is deemed valid, it goes into the Mempool (short for Memory Pool). This is sort of a “waiting room” where the transaction sits and waits for a miner to pick it up and pack it into a block of transactions.

At this point, the TX is considered an “unconfirmed transaction” or a “0 confirmation transaction.” You can view the current state of the Mempool here.

3. Once a miner picks up the transaction and includes it in a successfully mined block, the transaction is considered to be confirmed.

This short video explains the whole process:

A block can only hold a finite amount of transactions (at the moment, the average amount is around 3000). At times when the network is crowded and there are a lot of transactions waiting to be confirmed, the miner will prioritize which transactions to pick up based on the miner fee attached to the transaction.

Mempool transaction fees

Transaction fees of pending transactions inside the mempool

So fees are a way of signaling to the miner how urgent your transaction is. If you want to get confirmed faster, you can submit your transaction with a larger fee. This will ensure your order is prioritized ahead of others using only the standard fee. If you’re not so time-sensitive, you can make do with a smaller fee.

It’s important to note that fees are always paid for by the sender of the transaction.

How fees show up on the blockchain

The Bitcoin blockchain doesn’t list the fee paid for each transaction explicitly. The only way to deduce what fee was paid by the sender is to calculate the difference between how many Bitcoins were sent minus how many were received and how many were returned as change (explained in Chapter 3).

TX example

2. How are Bitcoin Fees Calculated?

Every Bitcoin transaction requires a fee in order to get mined.

Calculating the appropriate Bitcoin transaction fee isn’t as straightforward as it seems, so let me explain a bit about how it’s done:

Every transaction has a size, just like a file size on your computer. Since miners want to maximize their profit, they will prioritize transactions that have a larger fee-to-size ratio, or feerate, for short.

Let’s explain this with an example from a different market.

When you buy or rent an apartment, there’s usually a cost per square foot. The apartment price is similar to the total fee you pay, but how you measure the apartment’s expensiveness is through how much you are willing to pay per square foot.

Feerate is Bitcoin’s cost per square foot.

Feerate is measured in Satoshis per byte. It basically means how many Satoshis (the smallest unit of account in Bitcoin) you are willing to pay for every byte (unit of size) of your transaction.

At any given moment, you can check here what the estimated required feerate that will get your TX included in the next block. This rate varies depending on how crowded the network is with transactions (congestion).

feerate table

When the network isn’t crowded, you can get confirmed in the next block with 1 Sat/byte as shown above

3. Calculating Transaction Size

The transaction size itself depends on a number of different factors. The most significant ones are:

Number of inputs

Each Bitcoin you own, at its core, is just a reference to past transactions that were sent to you, adding up to the amount you own. These references are known as inputs.

When you send Bitcoins to someone, you are basically selecting different inputs sent to you in the past and forwarding them to the recipient as outputs. The more inputs your transaction consists of, the bigger its size.

For example, let’s say you own 1 Bitcoin. That Bitcoin is actually comprised of references to many transactions sent to you in the past (assuming you accumulated that one Bitcoin from several sources).

When you send this 1 Bitcoin to someone else, your transaction will be composed of all of these previous references. Here’s a short video explaining this:

Number of outputs and change

Simply put, outputs are the number of addresses you’re paying.

For example, if you’re only paying one address, it’s highly likely you’ll actually generate two outputs. One for the address you’re sending to, and another one to “pay yourself back” the change from your initial payment (explained in the video above).

Note: If the sum of your inputs equals exactly how much you need to pay, there will be no change in output.

Script complexity

Some transactions use special features like multisig. These features increase the transaction size.

Having said all that, it is still very difficult for the average user to calculate the transaction size based on these factors. Luckily, your Bitcoin wallet will do this for you and suggest the fee you should pay, based on the average feerate at the moment of transaction.

4. Reducing Transaction Fees – Best Practices

There are several ways you can avoid paying high fees. Let’s explore some of them:

Avoid sending transactions when the network is busy

When the Bitcoin network is extremely busy (e.g., when the price spikes and many people are looking to buy Bitcoin), users will manually bid up their fees in order to prioritize their transactions.

This can cause fees to become ridiculously expensive. If you can delay a transaction to a time when the network is less crowded, you may be able to save a lot of money on fees.

Use a wallet that supports SegWit

SegWit (short for Segregated Witness) is a Bitcoin protocol upgrade that configures the transaction’s data in such a way as to create a file that is smaller in size. Many wallets already support this feature, and it can cut costs substantially.

Group your inputs

The more inputs you need to create your transaction, the bigger its size = the more fees you’ll need to pay for it. If you want to keep fees low, every once in a while, you can consolidate your inputs.

This is done by sending many small inputs to an address you own at a time when fees are low. This way, you will significantly reduce your future fees since you will only have one input.

Grouping your outputs

Aside from consolidating inputs, you can also group multiple outputs (or payments) into one transaction. Not all wallets support this feature, but if your wallet allows this, you will be able to send payments to several addresses in one transaction, which will reduce the required fee.

5. How Bitcoin Wallets Deal with Fees

Bitcoin wallets attempt to recommend a reasonable fee based on the current and recent levels of activity on the Bitcoin network. Some wallets and services manage fees poorly and overbid fees, which in turn drives up the fees for everyone else as well.

Most wallets allow you to adjust your fees or at least set a general fee preference (low, medium, or high). As I said earlier, to choose the right fee, you’ll first need to know your transaction size.

If your wallet supplies you with that info, you can then use the feerate estimation table to figure out how much you need to pay in order to be included in the next block.

Here’s an example:

If your transaction size is 16,000 bytes and at the moment of the transaction, the average feerate to be included in the next block is 10 Satoshis/byte, you’ll need to pay 10 X 16,000, i.e., 160,000 Satoshis as a transaction fee, for a good chance to be included in the next block.

6. Frequently Asked Questions

Why is My Bitcoin Transaction Stuck or Unconfirmed?

While reading this guide sheds some light on the topic of fees, most Bitcoin users aren’t “fee experts.” Therefore, more often than not (and especially when the price rallies and the network is crowded), you’ll hear of people complaining that their transaction is stuck as “unconfirmed” or “pending.”

What gets a transaction “stuck?” One of two things:

  1. You didn’t pay a high enough fee, so miners prioritize other transactions over yours.
  2. You are trying to send coins from a transaction you received that hasn’t been confirmed yet (yes, some wallets allow this).

So what can you do?

Method #1: Wait

Sometimes, waiting is the best thing to do. If your transaction isn’t urgent, take a break and forget about it for at least 72 hours. There’s a good chance that it’ll sort itself out—one way or another.

Method #2: Replace by Fee (RBF)

Replace-by-fee (RBF) is a feature that allows a wallet to rebroadcast a transaction with a higher fee. Bear in mind that only a few wallets support RBF, and in certain wallets, RBF is an opt-in feature.

If your wallet does support RBF, it can save you a lot of fee-related headaches, and there’s really no downside to using it.

Method #3: Transaction (TX) accelerators

There are different TX accelerators that are operated by mining pools. They’ll add your transaction to the next block they mine if they have the capacity to do so.

Some are free, while others are free below certain size limits. Some pools charge upfront, while some pools request tips.

In order to get your transaction into an accelerator, you’ll need your TX ID. This is your unique transaction identifier, and it can usually be found inside the list of transactions in your wallet.

tx id

Here is a recommended transaction accelerator:

  1. Founded in 2016, ViaBTC’s accelerator is free, but it’s often unavailable, as it only accepts 100 free transactions per hour. Therefore, in order for it to be accepted, you will likely have to repeatedly resubmit your TX ID at the top of every hour. ViaBTC also offers a paid option, but they only accept BTC, LTC, and Bitcoin Cash.

Double-spending (last resort only)

This action sends the same transaction again but with a higher fee. It’s much like RBF but with one big difference.

RBF transactions conform to established protocol rules and are incorporated in several wallet designs. On the other hand, double-spending is explicitly considered something you shouldn’t do.

It’s actually one of the major problems that Bitcoin was created to solve, and all wallets are designed to prevent.

Child Pays for Parent (last resort only)

In Child Pays for Parent (CPFP), you essentially spend coins that are incoming but are not yet unconfirmed, which is something I previously advised against.

The idea behind this is that the fees on a new outgoing transaction will be high enough to cover both themselves and the unconfirmed incoming transactions they depend on.

A miner may be enticed to mine the old, low-fee, unconfirmed transaction in order to claim the new, high-fee CPFP transaction (as it’s impossible to claim the new transaction before the old one is confirmed).

Both these processes are rather difficult procedures that may place your funds at risk and are not intended for the average user, so we won’t go over them in this guide. This Bitcoin wiki details the methods for both processes.

Can my Bitcoin Transaction be Stuck Forever?

Short answer – no.

Earlier in this post, I talked about the transaction waiting in the mempool to get picked up by a miner.

Well, the mempool doesn’t exist in just one place. Each computer (or node) that validates transactions has a part in its hard drive that is dedicated to storing pending transactions. So, different nodes have different versions of the mempool, depending on which transactions they know about and remember.

If a transaction is not confirmed for a long period of time, it will eventually be erased from a node’s mempool. The current default timeout is 72 hours, but nodes may set their own duration.

The transactions with the lowest value will also be dropped from the mempool, as higher fee transactions are entered, and the mempool is limited in size.

This is why waiting for at least 72 hours will probably yield one of two results: Either your transaction will get confirmed, or it will get erased from all of the mempools in the network, and the funds will be returned to your wallet.

Having said that, it’s possible that a certain node will never forget about your transaction and may even occasionally rebroadcast it, which reminds other nodes about it.

Is it Free to Send Bitcoin?

No. In the past, fees had different rules than what they do today. You could even send transactions for free if your transaction was small enough in size or if it had “priority.” Today, every Bitcoin transaction requires a TX fee.

Who Gets the Bitcoin Transaction Fee?

The Bitcoin transaction fee is paid to the miner who entered the transaction into a successfully mined block.

Why are Bitcoin Fees so High?

At times when a lot of people are sending Bitcoin, a queue of unconfirmed transactions is formed (congestion).

People who want to get their transactions approved faster attach a higher fee. This creates a “fee war” between participants who want to get confirmed as soon as possible.

Having said that, at times when the network is relatively “quiet,” it can be fairly cheap to send Bitcoin.

How Much Does Bitcoin Charge Per Transaction?

To calculate the appropriate fee for your transaction, you will need to multiply your TX size with the feerate required to enter the next block.

However, while the required fee rate can be deducted from this page, the transaction size isn’t something you’ll be able to view beforehand.

7. Conclusion

As you can see, the issue of fees is pretty complex and can be a topic for a lot of controversy.

In fact, the main reason Bitcoin Cash was created was to address the Bitcoin block size, which limits the amount of transactions Bitcoin can process with each block. This, in turn, generated a very long queue of pending transactions, resulting in extremely high transaction fees.

Keeping fees low is important since having a cheap peer-to-peer payment system is one of the goals Bitcoin was created to achieve, but as always, there are other considerations to take into account aside from low fees.

As Bitcoin grows in popularity, more and more people will be using it, and the network needs to find new solutions to handle the demand. One solution was the Lightning Network.

Do you have any experience with calculating Bitcoin transaction fees? Do you have any best practices for ensuring the lowest transaction fees possible? I’d love to hear about it in the comments below.

Having delved into futures trading in the past, my intrigue in financial, economic, and political affairs eventually led me to a striking realization: the current debt-based fiat system is fundamentally flawed. This revelation prompted me to explore alternative avenues, including investments in gold and, since early 2013, Bitcoin. While not extensively tech-savvy, I've immersed myself in Bitcoin through dedicated study, persistent questioning, hands-on experience with ecommerce and marketing ventures, and my stint as a journalist. Writing has always been a passion of mine, and presently, I'm focused on crafting informative guides to shed light on the myriad advantages of Bitcoin, aiming to empower others to navigate the dynamic realm of digital currencies.

View all Posts by Alexander Reed

Free Bitcoin Crash Course

Learn everything you need to know about Bitcoin in just 7 days. Daily videos sent straight to your inbox.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
We hate spam as much as you do. You can unsubscribe with one click.
We hate spam as much as you do. You can unsubscribe with one click.

38 comments on “Transaction Fees”

Leave a Comment

Your email address will not be published. Required fields are marked *

  1. Are there such fees as congestion fees and clearance fees when trading bitcoin? There’s also the conversion fees at withdrawal. And they are not cheap at all. There’s another for wirex. I don’t know if I am dealing with a fake company and a scammer.

    1. random Internet person

      I’m not an expert on Bitcoin. I am quite good at avoiding scams though. If something seems suspicious, even slightly, don’t do it. You should be using big reputable businesses.

      Bitcoin is ripe for scamming people. The scam economy is in full force. Don’t get taken to the cleaners.

      The fact that you have to ask if they might be scamming you means your absolutely should not do business with them. 2 rules to be safe.

      1. Never give out your payment info or social security number on an inbound call.

      2. If you are even a tiny bit suspicious, shut it down. The fact you had to ask means you are suspicious.

  2. Are the transaction fees automatically added to your payment or do you need to include the fees when putting in the amount to send? Example: If I’m sending 100 to another wallet, and the fees are 30, do I send 130 or do I send the 100 and the 30 is taken separately? (I’ve never used bitcoin, sorry new to this) I don’t want to underpay or over pay.

    1. I usually send more like if you want your receiver to receive $100, then deposit $115 or something because if CashApp, then they have their sending fee too. I think $5-$6 for priority but they also have a time frame of 2-24hrs which is free. Remember also that when your cash converts to bitcoin it would be a lesser value. I hope I have shed some light here.

  3. Is there such as a late fee to withdrawal ones bitcoin investment if investments aren’t made at a timely manner?

    1. Kibet - 99Bitcoins support


      No, there isn’t such a fee. If someone is asking for ‘late fees’ they are most probably a scammer.

      Hope this helps!

  4. Oszustwo Bitkoin.

    Witam serdecznie od grudnia prubuje wypłacić pieniądze bez skutku otrzymali dane konto twierdzą że zarobione Bitkoin są w obiegu i muszę wymienic na dolary wszystko zrobione i bez skutku informatycy twierdzą że to oszustow i hakerstwo okradają biednych ludzi a złodzieje się bogacza te informacje są od informatykow powinna się Policja i wydział kryminalny tym się zająć. Pozdrawiam.

  5. What happens if you send bitcoin to another wallet but the bitcoin was never received?
    Also, What are the fees if you cancel a pending transaction on Bluewallet that hasn’t been confirmed?

    1. Kibet - 99Bitcoins support

      Hi Mary, If you sent bitcoin to another wallet, but the transaction was never received, the most likely reason is that the transaction was not confirmed on the blockchain. This can happen for various reasons, such as low fees, network congestion, or issues with the recipient’s wallet.

      In such a case, the bitcoins will remain in the sender’s wallet until the transaction is confirmed or canceled. If you wish to cancel the transaction, you will need to use a feature called “double-spend” which allows you to broadcast a new transaction using the same inputs as the original, but with a higher fee.

      As for the fees if you cancel a pending transaction on BlueWallet, it depends on the current state of the Bitcoin network and the fee rate set by the user when initiating the transaction. If the transaction has not yet been confirmed, cancelling it will not result in any fees being charged. However, if the transaction is confirmed, it cannot be cancelled and the fees will have already been spent.

      1. I sent bitcoin to another blockchain wallet, it’s been 5 days and the coin hasn’t dropped, it’s still pending. What can I do for now please?

  6. Could you please tell me ,on which website I get btc without any deposit or fee, in mining, or because I don’t have btc fee and which platform lend to give fee .

Scroll to Top