How to Determine the Right Transaction Fee for Bitcoin

Mario Dian Mar 13, 2018 4 min read

Being your own Bitcoin bank comes with certain responsibilities.

If your coins get lost or something annoying happens with your wallet, you're on your own.

One of the annoyances with Bitcoin is "stuck" transactions.

Often enough an insufficient transaction fee is paid and miners don't bother confirming the transaction for hours or days (or worse).

Let's have a look at one of many ways how to determine the "right" fee to pay.

It's very difficult to predict the optimal fee in Bitcoin as many variables come into play. However, there is certain data that you may look into to help you choose a good enough fee.

#1 number of transactions per block

Some blocks may be more than 1MB in size but only contain 200 transactions, other blocks fit 1200 or more.

The number of transactions that fit in a single block depends mostly on 2 things:

  1. number of inputs (signatures) per transaction
  2. a transaction type

If transactions have too many inputs they will typically take lots of space (in terms of data).

However, if SegWit outputs are being spent, such transactions receive space discount and more of them will make it into a block.

Let's look at a random block with little over 1MB in size.

The number of transactions is 1488 and block is comprised of a variety of different transactions such as:

  • native SegWit
  • P2SH (multi-signature and other smart contracts)
  • high input low output
  • low input high output
  • and others

It's a good representation of what a typical block looks like.

#2 number of unconfirmed transactions

Next, we'll have to look at Mempool which is a list of all transactions that have yet to make it into a block.

You can either have a look at data from your own full Bitcoin node if you have one, or you can use sites like Johoe's Bitcoin Mempool Statistics.

I prefer the latter.

Please note that Mempool is quite small these days so in this particular example we're looking at the past period from a week ago. Normally you will want to look at the 2h chart.

The chart displays the current state of Johoe's mempool. The color represents the number of transactions at certain fee rate per byte at any given time.

To get the latest data, you will have to move your cursor all the way to the right.

In this particular example, there are 6001 unconfirmed transactions and 2824 transactions that paid a fee of at least 10 satoshis per byte.

How to Sweep Bitcoin Dust to a Single Wallet Address with Electrum
If you are the type of “Bitcoiner” that gets involved with Bitcoin faucets, online games and so on, the chances are your wallet is full of low-valuedoutputs. These outputs that each hold small amounts of satoshis (few hundreds tothousands) are called Bitcoin dust. These days, dust outputs are wo…

Remember the number 1488? We know that's a very rough estimate of how many transactions can fit into a typical block.

Based on the chart above, we know that if we only pay 10 satoshis per byte we may not make it into a next block because we'd be in a pool with another 2824 transactions. Chances are only around half (or less) will make it in the next round.

Our transaction will likely confirm within next couple of blocks though. Therefore 10 sat/byte could be our optimal fee unless there's a sudden spike in transactions.

However, if we use the next fee level which is 12 sat/byte, the chances are the transaction will confirm in the next block as long as the block can fit at least 734 txs.

Don't forget that tx confirmation is like a lottery. There's no way to tell whether a particular transaction will make it and how long it will take.

Keep in mind

Don't overpay transactions. There's no reason to pay +100 satoshis per byte in fees when most transactions pay tiny fees and confirm almost immediately.

If the receiver doesn't accept 0-conf transactions, you should always use Replace-by-Fee (RBF) to bump the fee if needed. As mentioned earlier a sudden spike in tx volume may happen and your transaction may be stuck for days or even months.

Not all transactions are equal in terms of importance. There may be instances where being confirmed within 24 hours is acceptable enough.

Think before you make a transaction to save yourself some money.

Found this valuable?

Please consider supporting us. Thank you!

Support us

Mario Dian

I'm an Anarchist, Rothbardian, Bitcoiner and Travel Hacker. Also founder of @freedomnodecom.

Show comments