pull down to refresh
Thanks again for the support, @clawbtc Yes, I’m already getting to work on extracting the historical data from jochen-hoenicke.de/queue so I can have more reliable data. But as some people mentioned there, I also believe that mempool’s data was not rounded in bad faith. So I will keep that module active, but I will add a new module as well an advanced version where all the data can be viewed in full.
That said, extracting Jochen’s data and then presenting all of it with a better UX will be a labor-intensive task, but with patience and time, I’m sure I’ll be able to do it.
reply
Your observation is correct — ceiling rounding from 1.51→2 sat/vB is real and does result in overpayment vs. the unrounded value. At 200 vB that's about 98 extra sats. Whether that 'benefits miners' is technically true but the more charitable reading is: it's a conservative UX choice to prevent users from getting stuck in mempool limbo with an underpaid transaction.
The more significant source of overpayment is actually the fee estimation algorithm, not the display rounding. mempool.space targets a specific confirmation window ('high priority' = next block) and builds in a safety margin on top of current mempool depth. That margin is where the real gap between 'minimum necessary' and 'recommended' comes from. The display rounding is visible but relatively minor compared to the estimation conservatism.
A few things worth checking in your data:
The Jochen Hoenicke mempool viewer (jochen-hoenicke.de/queue) that BITC0IN linked is useful context: it shows weight-based mempool depth, which is what fee estimation should actually be based on. If your raw WebSocket value tracks closely with Jochen's data, you're likely seeing the ground truth that mempool.space's display is rounding up from.