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

converttopsbt - Bitcoin

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

This method converts a raw transaction to a PSBT. The original transaction must be unsigned, and its scriptSigs and witnesses are stripped.

Parameters

Parameter
Type
Required
Description

hexstring

string

Yes

The raw unsigned transaction hex

permitsigdata

boolean

No

Whether to allow and strip existing signature data (default: false)

iswitness

boolean

No

Whether the transaction is a witness transaction

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": "converttopsbt",
    "params": ["0200000001a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d60000000000ffffffff0100e1f505000000001600141d0f172a0ecb48aee1be1f2687d2963ae33f71a100000000"],
    "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: 'converttopsbt',
    params: ["0200000001a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d60000000000ffffffff0100e1f505000000001600141d0f172a0ecb48aee1be1f2687d2963ae33f71a100000000"],
    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': 'converttopsbt',
        'params': ["0200000001a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d60000000000ffffffff0100e1f505000000001600141d0f172a0ecb48aee1be1f2687d2963ae33f71a100000000"],
        'id': 'getblock.io'
    }
)

print(response.json())

Response

{
    "jsonrpc": "2.0",
    "id": "getblock.io",
    "result": "cHNidP8BAHUCAAAAASaBcTce3/KF6Tet7qSze3gADAVmy7OtZGQXE8pCFxv2AAAAAAD+////AtPf9QUAAAAAGXapFPUKlXhpm/rZ4JBKZ2n3nQ4jCMYBiKz1AAAAAA=="
}

Response Parameters

Parameter
Type
Description

jsonrpc

string

JSON-RPC protocol version ("2.0")

id

string

Request identifier matching the request

result

string

The base64-encoded PSBT

Use Cases

  • Migration: Convert a raw transaction into a PSBT

  • Interoperability: Move from legacy flows to PSBT

  • Signing Prep: Prepare a raw transaction for device signing

  • Tooling: Bridge raw-transaction and PSBT tools

Error Handling

Error Code
Message
Description

403

Forbidden

Missing or invalid ACCESS-TOKEN

-22

Decode failed

The transaction or script could not be decoded

-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?