5

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:

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.

3 Answers 3

3

TL;DR: you don't, you enable RBF 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's. Or just users looking at Johoe'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. 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.

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 (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).

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. :)
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. :)

/bitcoinomnivore

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

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.