Muun users can now benefit from paying more efficient fees on transactions that they want confirmed in the next block. More efficient fees means not overpaying when it isn’t needed, nor underestimating the fee rate when the network congestion gets high. This new fee estimator bases its predictions on the current state of the mempool, and was entirely built and trained by Muun’s Team.

What’s new

The main difference with the previous estimator, and the vast majority of them, is that the new one is mempool-based: this means it looks at the current state of the mempool to suggest an optimal fee rate for your transaction to get confirmed in the next block.

This process may sound familiar: many bitcoin users choose the fee rate of their transactions by looking at the mempool. In contrast, the vast majority of current estimators suggest fee rates by looking at past blocks, transactions, and fee rates.

In cases where the mempool has a constant size, both estimators have a similar behavior: they suggest similar fees for the next block, and have the same precision (think of precision as the the probability of actually getting your transaction confirmed in the next block, if you take the suggested fee). However, the estimators will suggest different fees when the mempool size varies.

Variations in the mempool occur quite frequently, and may have different causes. Perhaps the simplest one is that a block might take way less or way more than 10 minutes to be mined.

When a block isn’t mined for a long period of time, the mempool gets packed with transactions. If your wallet doesn’t consider this, it will underestimate the fee needed for the next block. The result is you lose precision: you set a fee expecting your transaction to be confirmed in the next block, but it doesn’t. Spam attacks can lead to the same scenario.

Similarly, if two or more blocks get mined in a short period of time, the mempool may lower its size considerably. If your wallet doesn’t take this into account, you probably pay more in fees than what is actually necessary. Mempool-based estimators can use the current state of the mempool to prevent either of these scenarios from happening.

Benchmarks

In order to benchmark the new estimator, we took data from the last half-year and chose some of the most popular estimators in the industry, including Earn, another mempool-based estimator, and Bitcoind.

For each estimator, we set the parameters of our estimator to match its precision (higher precision means more chances of confirmation, but more expensive) and calculated the differences of the estimated fees.

Bitcoind conservative (precision 82.26%): Muun’s fee estimator is 29.89% cheaper, on average, for the same precision.

Bitcoind economical (precision 71.89%): Muun’s fee estimator is 12.86% cheaper, on average, for the same precision.

Earn (precision 87.83%): Muun’s fee estimator is 23.75% cheaper, on average, for the same precision.

What’s next

At Muun, we consider fees to be very important in a bitcoin wallet, and we think they will become even more relevant with time. This is one of the reasons why we are implementing Lightning Network, and why the wallet has full Bech32 support. In the next couple of months we’ll keep working on improving this estimator which, for the moment, only makes predictions for the next block. We are also starting to work with RBF. Stay tuned!