<p>The <code>estimatesmartfee</code> fee estimation algorithm maintains local historical records of two things:</p>

<ul>
<li>Transaction fees (sat/B) of confirmed transactions</li>
<li>Target Intervals: Blocks between mempool acceptance and confirmation</li>
</ul>

<p>Based on these records, the algorithm will be able to provide an estimation of the minimum fees required to obtain confirmation within your specified block interval target <code>n</code>.</p>

<p>Specifically, when you query <code>estimatesmartfee(n)</code>, you are asking for a 95% historic probability that your transaction will be mined in <code>n</code> blocks. </p>

<p>There are two possibilities for why <code>estimatesmartfee(n)</code> will return equal fees for different targets.</p>

<ul>
<li>It returns <code>-1</code>: The method doesn't have enough historical mempool records to perform the estimation.</li>
<li>For the mempool records on your local server, the fee rates for 95% confirmation probability within your indicated target values <code>n</code> fall within the same fee bucket range, resulting in the same sat/b values returned.</li>
</ul>

<p>You may want to run the server a little longer and see if these values change. </p>

CC BY-SA 4.0
2019-01-20T10:31:24.623Z
What values is `estimatesmartfee` returning for estimatesmartfee(2)=estimatesmartfee(6)=estimatesmartfee(24)?
James C.
CC BY-SA 4.0
2019-01-20T10:30:11.953Z
2019-01-20T10:30:11.953Z
James C.
<p>I am trying to calculate the fee per kb using the estimatesmartfee. </p>

<p>I had called estimatesmart fee with  different type of blocks number .The fee remaing the same. </p>

<p>estimatesmartfee(2)=estimatesmartfee(6)=estimatesmartfee(24)</p>

<p>above statement seems to be correct . Please let me know if there is some another changes need to be done using the estimatesmartfee </p>

<transaction-fees><json-rpc><fee-estimation>
Why estimatesmart fee returning the same fee for diffeent blocks number?
Pankaj Kumar
# Why estimatesmart fee returning the same fee for diffeent blocks number?

(Asked by: username_0 on 2019-01-17)

I am trying to calculate the fee per kb using the estimatesmartfee.

I had called estimatesmart fee with different type of blocks number .The fee remaing the same.

estimatesmartfee(2)=estimatesmartfee(6)=estimatesmartfee(24)

above statement seems to be correct . Please let me know if there is some another changes need to be done using the estimatesmartfee

**Tags:** transaction-fees, json-rpc, fee-estimation


---

## 1 answers

### Answer by username_1 on 2019-01-20. Score: 1

The `estimatesmartfee` fee estimation algorithm maintains local historical records of two things:

* Transaction fees (sat/B) of confirmed transactions
* Target Intervals: Blocks between mempool acceptance and confirmation

Based on these records, the algorithm will be able to provide an estimation of the minimum fees required to obtain confirmation within your specified block interval target `n`.

Specifically, when you query `estimatesmartfee(n)`, you are asking for a 95% historic probability that your transaction will be mined in `n` blocks.

There are two possibilities for why `estimatesmartfee(n)` will return equal fees for different targets.

* It returns `-1`: The method doesn't have enough historical mempool records to perform the estimation.
* For the mempool records on your local server, the fee rates for 95% confirmation probability within your indicated target values `n` fall within the same fee bucket range, resulting in the same sat/b values returned.

You may want to run the server a little longer and see if these values change.

> **Comments:**
> **username_1**: What values is `estimatesmartfee` returning for estimatesmartfee(2)=estimatesmartfee(6)=estimatesmartfee(24)?  

---

