BitcoinMethods

createpsbt

The createpsbt method is utilized to create a transaction in the Partially Signed Transaction format, implementing the Creator role in the transaction process. This method is essential for initiati...

createpsbt

Overview

The 'createpsbt' method is utilized to create a transaction in the Partially Signed Transaction format, implementing the Creator role in the transaction process. This method is essential for initiating transactions within the Bitcoin network through CoinAPI.

Request

shell

wget --no-check-certificate --quiet \
  --method POST \
  --timeout=0 \
  --header 'Content-Type: application/json' \
  --header 'accept: application/json' \
  --header 'X-CoinAPI-Key: 4303fb63-adec-42dc-b571-74bc2f2a5167' \
  --body-data '{"jsonrpc":"2.0","id":1,"method":"createpsbt","params": [ ]}' \
   'https://bitcoin-mainnet.node.coinapi.io'

csharp

var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://bitcoin-mainnet.node.coinapi.io");
request.Headers.Add("accept", "application/json");
request.Headers.Add("X-CoinAPI-Key", "73034021-THIS-IS-SAMPLE-KEY");
var content = new StringContent("{\r\n  \"jsonrpc\": \"1.0\",\r\n  \"id\": \"1\",\r\n  \"method\": \"createpsbt\",\r\n  \"params\": []\r\n}\r\n", null, "application/json");
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());

php

<?php
$client = new Client();
$headers = [
  'Content-Type' => 'application/json',
  'accept' => 'application/json',
  'X-CoinAPI-Key' => '73034021-THIS-IS-SAMPLE-KEY'
];
$body = '{
  "jsonrpc": "1.0",
  "id": "1",
  "method": "createpsbt",
  "params": []
}';
$request = new Request('POST', 'https://bitcoin-mainnet.node.coinapi.io', $headers, $body);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();
?>

python

import requests
import json

url = "https://bitcoin-mainnet.node.coinapi.io"

payload = json.dumps({
  "jsonrpc": "1.0",
  "id": "1",
  "method": "createpsbt",
  "params": []
})
headers = {
  'Content-Type': 'application/json',
  'accept': 'application/json',
  'X-CoinAPI-Key': '73034021-THIS-IS-SAMPLE-KEY'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

javascript

var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("accept", "application/json");
myHeaders.append("X-CoinAPI-Key", "73034021-THIS-IS-SAMPLE-KEY");

var raw = JSON.stringify({
  "jsonrpc": "1.0",
  "id": "1",
  "method": "createpsbt",
  "params": []
});

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("https://bitcoin-mainnet.node.coinapi.io", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

go

package main

package main

import (
  "fmt"
  "strings"
  "net/http"
  "io/ioutil"
)

func main() {

url := "https://bitcoin-mainnet.node.coinapi.io"
method := "POST"

payload := strings.NewReader(`{`+"
"+`
  "jsonrpc": "1.0",`+"
"+`
  "id": "1",`+"
"+`
  "method": "createpsbt",`+"
"+`
  "params": []`+"
"+`
}`+"
"+`
`)

client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)

if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Content-Type", "application/json")
req.Header.Add("accept", "application/json")
req.Header.Add("X-CoinAPI-Key", "73034021-THIS-IS-SAMPLE-KEY")

res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()

body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}

ruby

require "uri"
require "json"
require "net/http"

url = URI("https://bitcoin-mainnet.node.coinapi.io")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["accept"] = "application/json"
request["X-CoinAPI-Key"] = "73034021-THIS-IS-SAMPLE-KEY"
request.body = JSON.dump({
  "jsonrpc": "1.0",
  "id": "1",
  "method": "createpsbt",
  "params": []
})

response = https.request(request)
puts response.read_body

java

OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\r\n  \"jsonrpc\": \"1.0\",\r\n  \"id\": \"1\",\r\n  \"method\": \"createpsbt\",\r\n  \"params\": []\r\n}\r\n");
Request request = new Request.Builder()
  .url("https://bitcoin-mainnet.node.coinapi.io")
  .method("POST", body)
  .addHeader("Content-Type", "application/json")
  .addHeader("accept", "application/json")
  .addHeader("X-CoinAPI-Key", "73034021-THIS-IS-SAMPLE-KEY")
  .build();
Response response = client.newCall(request).execute();

Request Parameters

  • Inputs: JSON array, required. Contains the JSON objects representing the transaction inputs.
  • Outputs: JSON array, required. Contains the outputs as key-value pairs where none of the keys are duplicated. Each address can only appear once and there can only be one 'data' object.
  • Locktime: Numeric, optional, default=0. Represents the raw locktime. A non-zero value also locktime-activates inputs.
  • Replaceable: Boolean, optional, default=false. Marks the transaction as BIP125 replaceable, allowing it to be replaced by a transaction with higher fees.

Response

{
  "id": 1,
  "result": {
    "str": "string",
    "description": "The resulting raw transaction (base64-encoded string)"
  },
  "error": null,
  "jsonrpc": "2.0"
}
Service StatusGitHub SDK