1

For example, I make this request to the Electrum server:

{ "id": 0, "method": "blockchain.estimatefee", "params": [ 1 ] }

and get response:

0.00254405

Here I get rate btc/kw but I need to convert this to sat/vbyte, so I do 0.00254405 * 1e8 / 1000 / 4 = ~64.

But in fact, this value does not change over time, while mempool.space shows other values. What am I doing wrong?

1 Answer 1

0

I don’t think you are conceptually doing anything wrong, it’s simply that the feerate estimate you are requesting is updated less frequently than mempool.space.

Here I get rate btc/kw but I need to convert this to sat/vbyte, so I do 0.00254405 * 1e8 / 1000 / 4 = ~64.

I think that you are mistaken about the unit of the value you retrieve. The Electrum protocol specification for blockchain.estimatefee says that this endpoint returns the "transaction fee per kilobyte". I would therefore interpret the value as [₿/kvB] rather than [₿/kWU] which would mean that your conversion were off by a factor 4.

I suspect that most Electrum Servers use the Bitcoin Core full node they rely on for blockchain data as their source for the feerate estimate. Feerate estimates of Bitcoin Core are less responsive than mempool.space.

1
  • So dividing by 4 was superfluous. But 250 sat/vbyte seems to be a very large number, while at the moment the effective fee rate is 80 sat/vbyte
    – Fernader
    Jan 2 at 16:53

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.