gettxoutproof
curl --request POST \
--url https://nd-202-842-353.p2pify.com/788f110831fe13808302bd79796d55e8 \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "1.0",
"method": "gettxoutproof",
"params": [
[
"0bf82c1d62b73497de2d796636cb1ce64415d25982332436007c0f51b5a75a62"
]
],
"id": 1
}
'import requests
url = "https://nd-202-842-353.p2pify.com/788f110831fe13808302bd79796d55e8"
payload = {
"jsonrpc": "1.0",
"method": "gettxoutproof",
"params": [["0bf82c1d62b73497de2d796636cb1ce64415d25982332436007c0f51b5a75a62"]],
"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: 'gettxoutproof',
params: [['0bf82c1d62b73497de2d796636cb1ce64415d25982332436007c0f51b5a75a62']],
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' => 'gettxoutproof',
'params' => [
[
'0bf82c1d62b73497de2d796636cb1ce64415d25982332436007c0f51b5a75a62'
]
],
'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\": \"gettxoutproof\",\n \"params\": [\n [\n \"0bf82c1d62b73497de2d796636cb1ce64415d25982332436007c0f51b5a75a62\"\n ]\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\": \"gettxoutproof\",\n \"params\": [\n [\n \"0bf82c1d62b73497de2d796636cb1ce64415d25982332436007c0f51b5a75a62\"\n ]\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\": \"gettxoutproof\",\n \"params\": [\n [\n \"0bf82c1d62b73497de2d796636cb1ce64415d25982332436007c0f51b5a75a62\"\n ]\n ],\n \"id\": 1\n}"
response = http.request(request)
puts response.read_body{
"result": "<string>",
"error": {},
"id": 123
}Bitcoin node API
gettxoutproof | Bitcoin
Reference for the gettxoutproof JSON-RPC method on the Bitcoin blockchain via Chainstack nodes. Parameters, response, and examples included.
POST
/
788f110831fe13808302bd79796d55e8
gettxoutproof
curl --request POST \
--url https://nd-202-842-353.p2pify.com/788f110831fe13808302bd79796d55e8 \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "1.0",
"method": "gettxoutproof",
"params": [
[
"0bf82c1d62b73497de2d796636cb1ce64415d25982332436007c0f51b5a75a62"
]
],
"id": 1
}
'import requests
url = "https://nd-202-842-353.p2pify.com/788f110831fe13808302bd79796d55e8"
payload = {
"jsonrpc": "1.0",
"method": "gettxoutproof",
"params": [["0bf82c1d62b73497de2d796636cb1ce64415d25982332436007c0f51b5a75a62"]],
"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: 'gettxoutproof',
params: [['0bf82c1d62b73497de2d796636cb1ce64415d25982332436007c0f51b5a75a62']],
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' => 'gettxoutproof',
'params' => [
[
'0bf82c1d62b73497de2d796636cb1ce64415d25982332436007c0f51b5a75a62'
]
],
'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\": \"gettxoutproof\",\n \"params\": [\n [\n \"0bf82c1d62b73497de2d796636cb1ce64415d25982332436007c0f51b5a75a62\"\n ]\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\": \"gettxoutproof\",\n \"params\": [\n [\n \"0bf82c1d62b73497de2d796636cb1ce64415d25982332436007c0f51b5a75a62\"\n ]\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\": \"gettxoutproof\",\n \"params\": [\n [\n \"0bf82c1d62b73497de2d796636cb1ce64415d25982332436007c0f51b5a75a62\"\n ]\n ],\n \"id\": 1\n}"
response = http.request(request)
puts response.read_body{
"result": "<string>",
"error": {},
"id": 123
}The
gettxoutproof method provides a merkle branch proof of the inclusion of one or more transactions in a block, proving that a transaction is indeed part of a block without needing the entire block data.
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
transaction ID(s)(required): An array of one or more transaction IDs for which the proof of inclusion is requested.
Response
result— a string representing the merkle branch proof in hexadecimal format.error— an object containing an error message if an error occurred, otherwisenull.id— an integer representing the ID of the request.
Use case
Thegettxoutproof method is particularly useful for lightweight clients and for applications that need to verify transactions without downloading the entire blockchain. It provides a way to confirm transaction inclusion efficiently.Body
application/json
Last modified on June 22, 2026
Was this page helpful?