<p>I like to use <a href="https://jochen-hoenicke.de/queue/#0,2h" rel="nofollow noreferrer">https://jochen-hoenicke.de/queue/#0,2h</a></p>
<p>Presuming there is about 2,000 tx in a block I would pay 0.00070 BTC/KB to get into the next few blocks (probably the next)</p>
<p><a href="https://i.sstatic.net/pEdQc.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/pEdQc.png" alt="enter image description here" /></a></p>
<p>This image shows there are 1712 tx paying more than 0.00060 but less than 736 paying 0.00070</p>

CC BY-SA 4.0
2020-12-08T15:50:17.590Z
2020-12-08T15:50:17.590Z
Toodarday
<p>My recommendation is to look at mempool.space before sending a transaction.</p>
<p>There you can either choose to trust their estimates which are posted directly on the site, or you can figure out yourself based on the actual fees also shown on the same dashboard having been paid in the previous few blocks, combined with information on the nr of transactions in their mempool etc, to make your own informed judgement.</p>
<p>Even better, you can run mempool.space on your own hardware showing you your own mempool from your full node, if you install e.g. the Raspiblitz on a raspberry pi. :)</p>
<p>/bitcoinomnivore</p>

CC BY-SA 4.0
2020-11-08T15:01:36.140Z
2020-11-08T15:01:36.140Z
bitcoinomnivore
<p><strong>TL;DR:</strong> you don't, you enable <a href="https://bitcoin.stackexchange.com/questions/10733/what-is-replace-by-fee">RBF</a> and adapt the transaction fee to the block space market (or use a wallet that does).</p>
<h2>Best effort(s)</h2>
<p>One is interested in the cheapest reliable fee estimation. That is, in estimating the lowest fee that will get their transaction included in a block before a configured deadline.</p>
<p>There are 3 classes of estimates:</p>
<ul>
<li>Those based <strong>only on the mempool</strong>. For instance <a href="https://github.com/spesmilo/electrum/blob/59c1d03f018026ac301c4e74facfc64da8ae4708/RELEASE-NOTES#L34-L46" rel="nofollow noreferrer">Electrum</a>'s. Or just users looking at <a href="https://bitcoinqueue.com/" rel="nofollow noreferrer">Johoe</a>'s before making a transaction. It consists in targeting the depth at which you want to add your transaction (below 3 blocks worth of transactions, below 10 blocks, etc..). However looking at the snapshot of the mempool does not give you any guarantee about the time it will take for your transaction to be included in a block. This method is also gameable by miners.</li>
<li>Those based <strong>only on the block chain</strong>. It consists in looking at the feerate of the transactions that were included in the previous block. It however against doesn't give you any ETA guarantee, and is even more gameable by miners than looking at a snapshot of the mempool.</li>
<li>Those based on <strong>both the mempool and the block chain</strong>. This is the case of the <a href="https://bitcoin.stackexchange.com/a/96491/101498">Bitcoin Core fee estimation algorithm</a>. Instead of looking at past blocks or a snapshot of the mempool it will look at the <em>dynamics</em> of transaction confirmation (when was a transaction broadcast, how long did it take for it to confirm, at what feerate, ..) in order to give you more assurance regarding the ETA you can expect by choosing a specific feerate.</li>
</ul>
<p>However note that no estimation can ever be 100% reliable, it can't predict the future. If after your transaction is broadcast someone wants to fill the blocks up to your target with megabytes of high-fee-paying transactions, they just <a href="https://b10c.me/mempool-observations/2-bitmex-broadcast-13-utc/" rel="nofollow noreferrer">can</a>.</p>
<h2>A guess isn't reliable</h2>
<p>Since you cannot reliably estimate transaction fees, you need to adapt your price to the market. However you will only witness the market actions <em>after</em> broadcasting your transaction. This is the reason behind <a href="https://bitcoin.stackexchange.com/questions/10733/what-is-replace-by-fee">Replace-by-fee</a> (you need a way to bump your fees post-broadcast).</p>
<p>But RBF is opt-in, you need to enable it before performing a transaction. In case you already broadcasted your transaction, you can fall back to CPFP (spend the unconfirmed output with a second, high fee paying, transaction that pays for both --<a href="https://bitcoin.stackexchange.com/a/51990/101498">example with Electrum</a>).</p>
<h2>Conclusion -- what should i use?</h2>
<p>First of all use RBF when possible. Start with a lower estimation and bump the fees as your transaction is approaching your deadline without getting confirmed.</p>
<p>If you are building an application, prefer Bitcoin Core's block chain estimations as:</p>
<ul>
<li>Reliability often outweighs cost (stuck transactions really aren't fun).</li>
<li>With a larger sample of transactions, statistics are on your side.</li>
<li>If all applications start relying on mempool estimations and fees continue to rise it becomes attracting for miners to try to play games. :)</li>
</ul>

CC BY-SA 4.0
2021-01-07T16:49:30.723Z
2023-01-22T13:37:25.363Z
2023-01-22T13:37:25.363Z
Antoine Poinsot
<p>I'm asking this question because sites seem to yield widely different estimates.</p>
<p>For instance, if I want a transaction to be accepted within 6 blocks, this is what I currently have to pay according to various calculators:</p>
<ul>
<li><a href="https://bitcoinfees.net" rel="noreferrer">https://bitcoinfees.net</a> - 5 sat/vB</li>
<li><a href="https://www.buybitcoinworldwide.com/fee-calculator" rel="noreferrer">https://www.buybitcoinworldwide.com/fee-calculator</a> - 123 sat/vB</li>
<li><a href="https://privacypros.io/tools/bitcoin-fee-estimator/" rel="noreferrer">https://privacypros.io/tools/bitcoin-fee-estimator/</a> - 356 sat/vB</li>
<li><a href="https://btc.network/estimate" rel="noreferrer">https://btc.network/estimate</a> - 230 sat/vB</li>
</ul>
<p>Why are the numbers so different? Who's right?</p>
<p>For the record: at first, I was convinced that <strong>bitcoinfees.net</strong> had to be wrong, but then, someone sent me a transaction (4a129199006935cad810f99a41c14b2e2cdc4f8043732fde8f6db3f7aa899dfc) with a mining fee of 5 sat/vB... and it received its first confirmation within 20 minutes. It makes me even more confused because I see many transactions currently paying a much higher mining fee.</p>

<transaction-fees><blockspace-market><fee-estimation>
How do you reliably estimate mining fees?
Pascal Bergeron
# How do you reliably estimate mining fees?

(Asked by: username_0 on 2020-11-07)

I'm asking this question because sites seem to yield widely different estimates.

For instance, if I want a transaction to be accepted within 6 blocks, this is what I currently have to pay according to various calculators:

* <https://bitcoinfees.net> - 5 sat/vB
* <https://www.buybitcoinworldwide.com/fee-calculator> - 123 sat/vB
* <https://privacypros.io/tools/bitcoin-fee-estimator/> - 356 sat/vB
* <https://btc.network/estimate> - 230 sat/vB

Why are the numbers so different? Who's right?

For the record: at first, I was convinced that **bitcoinfees.net** had to be wrong, but then, someone sent me a transaction (4a129199006935cad810f99a41c14b2e2cdc4f8043732fde8f6db3f7aa899dfc) with a mining fee of 5 sat/vB... and it received its first confirmation within 20 minutes. It makes me even more confused because I see many transactions currently paying a much higher mining fee.

**Tags:** transaction-fees, blockspace-market, fee-estimation


---

## 3 answers

### Answer by username_3 on 2021-01-07. Score: 3 | Accepted answer

**TL;DR:** you don't, you enable [RBF](https://bitcoin.stackexchange.com/questions/10733/what-is-replace-by-fee) and adapt the transaction fee to the block space market (or use a wallet that does).

## Best effort(s)

One is interested in the cheapest reliable fee estimation. That is, in estimating the lowest fee that will get their transaction included in a block before a configured deadline.

There are 3 classes of estimates:

* Those based **only on the mempool**. For instance [Electrum](https://github.com/spesmilo/electrum/blob/59c1d03f018026ac301c4e74facfc64da8ae4708/RELEASE-NOTES#L34-L46)'s. Or just users looking at [Johoe](https://bitcoinqueue.com/)'s before making a transaction. It consists in targeting the depth at which you want to add your transaction (below 3 blocks worth of transactions, below 10 blocks, etc..). However looking at the snapshot of the mempool does not give you any guarantee about the time it will take for your transaction to be included in a block. This method is also gameable by miners.
* Those based **only on the block chain**. It consists in looking at the feerate of the transactions that were included in the previous block. It however against doesn't give you any ETA guarantee, and is even more gameable by miners than looking at a snapshot of the mempool.
* Those based on **both the mempool and the block chain**. This is the case of the [Bitcoin Core fee estimation algorithm](https://bitcoin.stackexchange.com/a/96491/101498). Instead of looking at past blocks or a snapshot of the mempool it will look at the *dynamics* of transaction confirmation (when was a transaction broadcast, how long did it take for it to confirm, at what feerate, ..) in order to give you more assurance regarding the ETA you can expect by choosing a specific feerate.

However note that no estimation can ever be 100% reliable, it can't predict the future. If after your transaction is broadcast someone wants to fill the blocks up to your target with megabytes of high-fee-paying transactions, they just [can](https://b10c.me/mempool-observations/2-bitmex-broadcast-13-utc/).

## A guess isn't reliable

Since you cannot reliably estimate transaction fees, you need to adapt your price to the market. However you will only witness the market actions *after* broadcasting your transaction. This is the reason behind [Replace-by-fee](https://bitcoin.stackexchange.com/questions/10733/what-is-replace-by-fee) (you need a way to bump your fees post-broadcast).

But RBF is opt-in, you need to enable it before performing a transaction. In case you already broadcasted your transaction, you can fall back to CPFP (spend the unconfirmed output with a second, high fee paying, transaction that pays for both --[example with Electrum](https://bitcoin.stackexchange.com/a/51990/101498)).

## Conclusion -- what should i use?

First of all use RBF when possible. Start with a lower estimation and bump the fees as your transaction is approaching your deadline without getting confirmed.

If you are building an application, prefer Bitcoin Core's block chain estimations as:

* Reliability often outweighs cost (stuck transactions really aren't fun).
* With a larger sample of transactions, statistics are on your side.
* If all applications start relying on mempool estimations and fees continue to rise it becomes attracting for miners to try to play games. :)


---

### Answer by username_1 on 2020-12-08. Score: 0

I like to use <https://jochen-hoenicke.de/queue/#0,2h>

Presuming there is about 2,000 tx in a block I would pay 0.00070 BTC/KB to get into the next few blocks (probably the next)

[![enter image description here](https://i.sstatic.net/pEdQc.png)](https://i.sstatic.net/pEdQc.png)

This image shows there are 1712 tx paying more than 0.00060 but less than 736 paying 0.00070


---

### Answer by username_2 on 2020-11-08. Score: 0

My recommendation is to look at mempool.space before sending a transaction.

There you can either choose to trust their estimates which are posted directly on the site, or you can figure out yourself based on the actual fees also shown on the same dashboard having been paid in the previous few blocks, combined with information on the nr of transactions in their mempool etc, to make your own informed judgement.

Even better, you can run mempool.space on your own hardware showing you your own mempool from your full node, if you install e.g. the Raspiblitz on a raspberry pi. :)

/username_2


---

