getblockfilter
curl --request POST \
--url https://nd-202-842-353.p2pify.com/788f110831fe13808302bd79796d55e8 \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "1.0",
"method": "getblockfilter",
"params": [
"000000000000000000100c3c4b0b07a64612385408f6c7d97c422a5a0c1d859d",
"basic"
],
"id": 1
}
'import requests
url = "https://nd-202-842-353.p2pify.com/788f110831fe13808302bd79796d55e8"
payload = {
"jsonrpc": "1.0",
"method": "getblockfilter",
"params": ["000000000000000000100c3c4b0b07a64612385408f6c7d97c422a5a0c1d859d", "basic"],
"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: 'getblockfilter',
params: ['000000000000000000100c3c4b0b07a64612385408f6c7d97c422a5a0c1d859d', 'basic'],
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' => 'getblockfilter',
'params' => [
'000000000000000000100c3c4b0b07a64612385408f6c7d97c422a5a0c1d859d',
'basic'
],
'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\": \"getblockfilter\",\n \"params\": [\n \"000000000000000000100c3c4b0b07a64612385408f6c7d97c422a5a0c1d859d\",\n \"basic\"\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\": \"getblockfilter\",\n \"params\": [\n \"000000000000000000100c3c4b0b07a64612385408f6c7d97c422a5a0c1d859d\",\n \"basic\"\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\": \"getblockfilter\",\n \"params\": [\n \"000000000000000000100c3c4b0b07a64612385408f6c7d97c422a5a0c1d859d\",\n \"basic\"\n ],\n \"id\": 1\n}"
response = http.request(request)
puts response.read_body{
"result": {},
"error": {},
"id": 123
}Bitcoin node API
getblockfilter | Bitcoin
The getblockfilter method retrieves a BIP 157 content filter for a particular block. Available on Bitcoin via Chainstack JSON-RPC nodes.
POST
/
788f110831fe13808302bd79796d55e8
getblockfilter
curl --request POST \
--url https://nd-202-842-353.p2pify.com/788f110831fe13808302bd79796d55e8 \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "1.0",
"method": "getblockfilter",
"params": [
"000000000000000000100c3c4b0b07a64612385408f6c7d97c422a5a0c1d859d",
"basic"
],
"id": 1
}
'import requests
url = "https://nd-202-842-353.p2pify.com/788f110831fe13808302bd79796d55e8"
payload = {
"jsonrpc": "1.0",
"method": "getblockfilter",
"params": ["000000000000000000100c3c4b0b07a64612385408f6c7d97c422a5a0c1d859d", "basic"],
"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: 'getblockfilter',
params: ['000000000000000000100c3c4b0b07a64612385408f6c7d97c422a5a0c1d859d', 'basic'],
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' => 'getblockfilter',
'params' => [
'000000000000000000100c3c4b0b07a64612385408f6c7d97c422a5a0c1d859d',
'basic'
],
'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\": \"getblockfilter\",\n \"params\": [\n \"000000000000000000100c3c4b0b07a64612385408f6c7d97c422a5a0c1d859d\",\n \"basic\"\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\": \"getblockfilter\",\n \"params\": [\n \"000000000000000000100c3c4b0b07a64612385408f6c7d97c422a5a0c1d859d\",\n \"basic\"\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\": \"getblockfilter\",\n \"params\": [\n \"000000000000000000100c3c4b0b07a64612385408f6c7d97c422a5a0c1d859d\",\n \"basic\"\n ],\n \"id\": 1\n}"
response = http.request(request)
puts response.read_body{
"result": {},
"error": {},
"id": 123
}The
getblockfilter method retrieves a BIP 157 content filter for a particular block.
Customization requiredThis method requires node node customization and will not work out of the box. Talk to us & we’ll implement it.
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
blockhash(required) — the hash of the blockfiltertype(required) — the type of filter to retrieve, currently onlybasicis supported
Response
result— an object containing the block filter with the following fields:filter— the hex-encoded filter dataheader— the hex-encoded filter header
error— an object containing an error message if an error occurred, otherwisenullid— an integer representing the ID of the request, used to match requests with responses
Use case
Block filters are used to efficiently determine if a block may contain transactions relevant to a particular wallet or light client without downloading the entire block. Thegetblockfilter method allows retrieving these filters for a specific block.
For example, a light wallet might use getblockfilter to check if it needs to download a particular block to search for wallet transactions, reducing bandwidth and processing requirements compared to downloading every block.Body
application/json
Last modified on June 22, 2026
Was this page helpful?