estimatesmartfee
curl --request POST \
--url https://nd-202-842-353.p2pify.com/788f110831fe13808302bd79796d55e8 \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "1.0",
"method": "estimatesmartfee",
"params": [
6
],
"id": 1
}
'import requests
url = "https://nd-202-842-353.p2pify.com/788f110831fe13808302bd79796d55e8"
payload = {
"jsonrpc": "1.0",
"method": "estimatesmartfee",
"params": [6],
"id": 1
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({jsonrpc: '1.0', method: 'estimatesmartfee', params: [6], id: 1})
};
fetch('https://nd-202-842-353.p2pify.com/788f110831fe13808302bd79796d55e8', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://nd-202-842-353.p2pify.com/788f110831fe13808302bd79796d55e8",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'jsonrpc' => '1.0',
'method' => 'estimatesmartfee',
'params' => [
6
],
'id' => 1
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://nd-202-842-353.p2pify.com/788f110831fe13808302bd79796d55e8"
payload := strings.NewReader("{\n \"jsonrpc\": \"1.0\",\n \"method\": \"estimatesmartfee\",\n \"params\": [\n 6\n ],\n \"id\": 1\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://nd-202-842-353.p2pify.com/788f110831fe13808302bd79796d55e8")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"1.0\",\n \"method\": \"estimatesmartfee\",\n \"params\": [\n 6\n ],\n \"id\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://nd-202-842-353.p2pify.com/788f110831fe13808302bd79796d55e8")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"jsonrpc\": \"1.0\",\n \"method\": \"estimatesmartfee\",\n \"params\": [\n 6\n ],\n \"id\": 1\n}"
response = http.request(request)
puts response.read_body{
"result": {
"feerate": 123,
"blocks": 123
},
"error": {},
"id": 123
}Bitcoin node API
estimatesmartfee | Bitcoin
The estimatesmartfee method estimates the fee per kilobyte required for a transaction to be confirmed within a certain number of blocks.
POST
/
788f110831fe13808302bd79796d55e8
estimatesmartfee
curl --request POST \
--url https://nd-202-842-353.p2pify.com/788f110831fe13808302bd79796d55e8 \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "1.0",
"method": "estimatesmartfee",
"params": [
6
],
"id": 1
}
'import requests
url = "https://nd-202-842-353.p2pify.com/788f110831fe13808302bd79796d55e8"
payload = {
"jsonrpc": "1.0",
"method": "estimatesmartfee",
"params": [6],
"id": 1
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({jsonrpc: '1.0', method: 'estimatesmartfee', params: [6], id: 1})
};
fetch('https://nd-202-842-353.p2pify.com/788f110831fe13808302bd79796d55e8', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://nd-202-842-353.p2pify.com/788f110831fe13808302bd79796d55e8",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'jsonrpc' => '1.0',
'method' => 'estimatesmartfee',
'params' => [
6
],
'id' => 1
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://nd-202-842-353.p2pify.com/788f110831fe13808302bd79796d55e8"
payload := strings.NewReader("{\n \"jsonrpc\": \"1.0\",\n \"method\": \"estimatesmartfee\",\n \"params\": [\n 6\n ],\n \"id\": 1\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://nd-202-842-353.p2pify.com/788f110831fe13808302bd79796d55e8")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"1.0\",\n \"method\": \"estimatesmartfee\",\n \"params\": [\n 6\n ],\n \"id\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://nd-202-842-353.p2pify.com/788f110831fe13808302bd79796d55e8")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"jsonrpc\": \"1.0\",\n \"method\": \"estimatesmartfee\",\n \"params\": [\n 6\n ],\n \"id\": 1\n}"
response = http.request(request)
puts response.read_body{
"result": {
"feerate": 123,
"blocks": 123
},
"error": {},
"id": 123
}The
estimatesmartfee method estimates the fee per kilobyte required for a transaction to be confirmed within a certain number of blocks. This is useful for dynamically adjusting transaction fees based on current network conditions.
Get your own node endpoint todayStart for free and get your app to production levels immediately. No credit card required.You can sign up with your GitHub, X, Google, or Microsoft account.
Parameters
conf_target(required): The number of blocks within which the transaction should be confirmed.
Response
result— an object containing the estimated fee rate (feerate) in BTC per kilobyte and the target number of blocks (blocks) for confirmation.error— an object containing an error message if an error occurred, otherwisenull.id— an integer representing the ID of the request.
Use case
Theestimatesmartfee method is crucial for wallet applications and services that need to adjust transaction fees dynamically. It helps ensure transactions are confirmed in a timely manner without overpaying.Body
application/json
Last modified on June 22, 2026
Was this page helpful?