I am currently writing a time estimation tool for Bitcoin, and it gives me wrong estimations, so I am not sure if it's accurate and if I am not doing some error in logic.
For example, I have this transaction
https://blockchain.info/tx/388f99d51cfce4f18f0c76257fff7666ffd272394ee0316df529383c6d22ed66
It has 10 sat/B (both virtual size and real size). It has 0 ancestors in mempool, all its inputs are confirmed. (all from
getmempoolentry
call)Estimatesmartfee returns 11.089 sat/B for 192 blocks, that is 1 day and 8 hours.
The transaction was seen about 4 days ago (again, according to
time
in its mempool entry) and is still unconfirmed.
That means it should have been confirmed 3 days ago. So its estimated confirmation time is -3 days, which is impossible.
What am I doing wrong?
estimatesmartfee
, or by looking attime
in the mempool entry