For the complete documentation index, see llms.txt. This page is also available as Markdown.

gettxoutproof - Bitcoin

Example code for the gettxoutproof JSON-RPC method. Complete guide on how to use gettxoutproof JSON-RPC in GetBlock Web3 documentation.

This method returns a hex-encoded proof that one or more transactions were included in a block. An optional block hash restricts the proof to a specific block.

Parameters

Parameter
Type
Required
Description

txids

array

Yes

The transaction IDs to prove

blockhash

string

No

The block to look for the transactions in

Request

curl --location --request POST 'https://shared.eu-central-1.getblock.io/<ACCESS-TOKEN>/' \
--header 'Content-Type: application/json' \
--data-raw '{
    "jsonrpc": "2.0",
    "method": "gettxoutproof",
    "params": [["4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"]],
    "id": "getblock.io"
}'
example.js
const axios = require('axios');

const response = await axios.post('https://shared.eu-central-1.getblock.io/<ACCESS-TOKEN>/', {
    jsonrpc: '2.0',
    method: 'gettxoutproof',
    params: [["4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"]],
    id: 'getblock.io'
}, {
    headers: { 'Content-Type': 'application/json' }
});

console.log(response.data.result);
example.py
import requests

response = requests.post(
    'https://shared.eu-central-1.getblock.io/<ACCESS-TOKEN>/',
    headers={'Content-Type': 'application/json'},
    json={
        'jsonrpc': '2.0',
        'method': 'gettxoutproof',
        'params': [["4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"]],
        'id': 'getblock.io'
    }
)

print(response.json())

Response

{
    "jsonrpc": "2.0",
    "id": "getblock.io",
    "result": "0400000001a1b2c3...merkleproofhex...00"
}

Response Parameters

Parameter
Type
Description

jsonrpc

string

JSON-RPC protocol version ("2.0")

id

string

Request identifier matching the request

result

string

Hex-encoded Merkle proof of inclusion

Use Cases

  • SPV Proofs: Prove a transaction is in a block

  • Light Clients: Verify inclusion without a full node

  • Bridges: Provide inclusion proofs cross-chain

  • Audits: Produce verifiable evidence of inclusion

Error Handling

Error Code
Message
Description

403

Forbidden

Missing or invalid ACCESS-TOKEN

-5

Not found

The requested block or transaction was not found

-8

Invalid parameter

A parameter is out of range or malformed

-32602

Invalid params

A parameter is missing or has the wrong type

Last updated

Was this helpful?