2022 Developer Survey is open! Take survey.

Questions tagged [bip174-psbt]

Use this tag for questions related to BIP 174 - Partially Signed Bitcoin Transactions (PSBT).

Filter by
Sorted by
Tagged with
3 votes
1 answer
34 views

Which wallets or libraries besides core support (or will support) P2TR descriptors?

I want to help test the WIP Bitcoin Dev Kit "Add support for Taproot and tr() descriptors", PR #593 against other implementations besides Bitcoin Core (already testing again Core 22.0). In ...
user avatar
3 votes
1 answer
81 views

Taproot signing with PSBT: How to determine signing method?

As far as I can tell there are three ways you can produce a valid Schnorr signature in a Taproot environment: For a p2tr output that uses a BIP-0086 commitment (key spend, sign with internal key, ...
user avatar
  • 218
1 vote
1 answer
48 views

Is it possible to broadcast psbt in bitcoin core?

Is it possible to broadcast psbt in bitcoin core without converting to raw transaction?
user avatar
2 votes
1 answer
43 views

Why is Electrum able to generate .psbt from the address only but BitcoinCore requires a Public Key/Descriptor?

When generating a .psbt it suffices to merely import the address (hashed Public Key) in Electrum while in BitcoinCore (for the same address) I also would have to import either a corresponding Public ...
user avatar
  • 142
1 vote
1 answer
59 views

Create a .psbt using the BitcoinCore client

I am trying to create a .psbt using BitcoinCore on mainnet. The use-case is that I want to be able to export the unsigned transaction, import it into my cold-storage wallet (using BitcoinCore) and ...
user avatar
  • 142
1 vote
1 answer
50 views

Handling 'Has SIGHASH_SINGLE' flag for psbt2 (BIP370)

BIP370 specifies a bit flag (bit 2) in PSBT_GLOBAL_TX_MODIFIABLE field, that "indicates whether the transaction has a SIGHASH_SINGLE signature who's input and output pairing must be preserved&...
user avatar
1 vote
1 answer
33 views

How would a PSBT signer identify a non-bip32 key?

In a PSBT, version 0 or 2, how would a signer know what keypair to use for an input or an output if the keypair isn't derived through bip32? For inputs, assuming p2wpkh for simplicity, I suppose one ...
user avatar
0 votes
0 answers
34 views

Can you explain how to set up a basic M-of-N multisig between multiple people using descriptor wallets and PSBTs, as well as a signing flow?

Can you explain how to set up a basic M-of-N multisig between multiple people using descriptor wallets and PSBTs, as well as a signing flow?
user avatar
1 vote
0 answers
61 views

Add inputs and outputs to a transaction signed with sighash SINGLE | ANYONECANPAY

I created a transaction with one input and one output, and signed it using sighash SINGLE | ANYONECANPAY. Can I add further inputs and outputs with another wallet using bitcoin-cli?
user avatar
0 votes
0 answers
32 views

Does anyone have a step by step tutorial in how to use Bitcoin Core in 2 laptop airgapped scheme?

What I mean is, 2 laptops: -laptop 1: Connected to the internet, synced, has watch-only wallets of all private keys to be found in laptop 2's wallet -laptop 2: Never connected to the internet. You ...
user avatar
1 vote
0 answers
237 views

Sign psbt with software wallet. [electrum & others]

So I've been looking for days to sign a PSBT transaction but upon to all my research i failed or i just haven't searched in the right place. The PSBT content is generated from a payment gateway that I'...
user avatar
  • 11
3 votes
0 answers
43 views

What are the malleability threat vectors when passing PSBTs to other actors?

If I am passing a PSBT (Partially Signed Bitcoin Transaction) between multiple people, and I pass on my signature for my UTXOs for given inputs, can someone take advantage of malleability and cheat me ...
user avatar
  • 1,359
3 votes
0 answers
64 views

Sign lightning channel creation PSBT with Golang

I'm trying to open a channel on regtest with LND v0.13.0-beta.rc3 using their PSBT workflow to allow for remote signing. I've done the following steps: I create a regtest wallet using the BIP39 ...
user avatar
0 votes
1 answer
71 views

Bitcoin core trying to sign a transaction loaded from psbt file, but getting "could not sign any more inputs" error

I am trying to sign a transaction loaded from psbt file, but I'm getting could not sign any more inputs error. I did it successfully on the first try. However I cannot do it any more now. I changed my ...
user avatar
  • 227
0 votes
0 answers
44 views

RPC to sign PSBT with private key

What is the PSBT related RPC which works similar to signrawtransactionwithkey ?
user avatar
5 votes
1 answer
795 views

What does PSBT stand for?

What is PSBT? What does it stand for? bitcoin-qt has menu items "Load PSBT from file…" and "Load PSBT from clipboard…"; the dialog box says the file format is "Partially ...
user avatar
  • 4,307
1 vote
1 answer
95 views

Sign PSBT for 2 of 3 multisig

Creating an unsigned PSBT: { "jsonrpc": "1.0", "id": "curltest", "method": "walletcreatefundedpsbt", "params": [ [ { "txid": "...
user avatar
1 vote
1 answer
213 views

WitnessScript vs. Script Witness

In BIP 174/PSBT, there is a PSBT Input key-value pair called "PSBT_IN_WITNESS_SCRIPT" (0x05) and another called "PSBT_IN_FINAL_SCRIPTWITNESS" (0x08). What is the difference between ...
user avatar
2 votes
1 answer
568 views

How to convert PSBT transaction (base64) to raw/serialized (hex) transaction?

Bitcoin Core's CLI has a converttopsbt command used to convert from raw transaction to PSBT transaction but how is it possible to convert from PSBT transaction to raw transaction using Bitcoin Core (...
user avatar
  • 23
6 votes
1 answer
797 views

What is the difference between PSBT support in Coldcard and Trezor?

The 10x Security Bitcoin Guide says that the only two hardware wallets support BIP174 (partially signed Bitcoin transactions, or PSBT). However, this Reddit thread says that "You can use PSBT ...
user avatar
0 votes
1 answer
293 views

Can we sign a psbt raw tx having multiple inputs created from BTC node with bitcoinjs lib?

Due to secruity reasons, unavailablity of private keys on my end and as per project requirements I need to build back end apis where I will provide a PSBT raw transaction hex (having multiple inputs) ...
user avatar
1 vote
1 answer
44 views

PSBT encoding : what's the aim of convertBytes function?

I'm currently working on PSBT and I try to understand all the part of the original implementation. Dealing with base64 PSBT encoding: it seems that we convert the buffer from a base 8 to a base 6 ...
user avatar
1 vote
0 answers
75 views

How can I use PSBT in a JavaScript project?

I am trying to use PSBT in a Bitcoin project. The idea is to generate keys and sign transactions client-side. I am already familiar with bitcoinjs-lib but I find the API rather complicated. It would ...
user avatar
1 vote
1 answer
1k views

Create unsigned tx (PSBT) in a watch-only wallet using bitcoin core, sign it in electrum and broadcast using bitcoin core

What are the steps that we can follow to create an unsigned tx for watch-only cold storage address using bitcoin core? How can we sign the transaction and broadcast it later?
user avatar
1 vote
2 answers
657 views

How to create unsigned tx in a watch-only wallet?

UPDATE: The issue is resolved and I have mentioned the steps in Create unsigned tx (PSBT) in a watch-only wallet using bitcoin core, sign it in electrum and broadcast using bitcoin core Below are the ...
user avatar
2 votes
2 answers
177 views

Problem making multisig PSBT on walletcreatefundedpsbt

I'm fighting with PSBT to do a 2: 2 multisig with bitcoin-cli on testnet. Those are the steps I follow: Create a multisig with bitcoin-cli createmultisig 2 "["pubkey1", "pubkey2&...
user avatar
  • 31
2 votes
1 answer
122 views

Why isn't my PSBT considered complete after walletprocesspsbt and finalizepsbt?

I created a transaction using createrawtransaction spending a UTXO that I own the keys to and then converted it to PSBT using converttopsbt, then I used walletprocesspsbt and finalizepsbt. After ...
user avatar
0 votes
1 answer
37 views

Why does BIP174 take Xpubs but no addresses?

I have a few questions on BIP 174: XPUBs: I am looking at BIP174, and I see that I can define a global XPub. How is this used. How does an updater, signer, or finalizer know what this XPub is for? ...
user avatar
6 votes
1 answer
192 views

Segwit & Offline Signing

Yesterday Trezor released details of a segwit-related hardware wallet vulnerability. The writeup claims that providing full previous transactions to the hardware wallet prevents the exploit. My ...
user avatar
1 vote
1 answer
531 views

How to sign a PSBT transaction?

I have a PSBT (in Base64 format) which I need to sign using GoLang, but I can't figure out which steps I need to do that. I found this but I'm not really confident with Bitcoin and Python, so I didn't ...
user avatar
2 votes
1 answer
246 views

Why did the core developers choose base64 for PSBT encoding?

Why does bitcoind use baase64 to encode PSBT's? Just out of curiosity.
user avatar
  • 372
0 votes
0 answers
35 views

Fund single output in PSBT with bitcoind

I would like to create a PSBT with a single output (P2WSH with a given/predefined amount) in an app and give that to the user. The user should then be able to fund this PSBT with the help of bitcoind ...
user avatar
  • 218
1 vote
0 answers
82 views

PSBT signing safety checks

I'm working on a multisignature cold storage wallet that adds several features to the Glacier Protocol wallet, namely PSBT support through bitcoin-cli's RPC interface. The wallet intentionally uses a ...
user avatar
3 votes
1 answer
94 views

How to properly combine PSBTs for CoinJoin?

I am trying to learn the workflow for manual Coinjoins using PSBTs. I was following Andy Chow's suggestions in another thread here Where he suggests: 1. Createpsbt (he suggests using ...
user avatar
2 votes
1 answer
267 views

Why was the bip32 fingerprint used for bip174 psbt?

The fingerprint is widely used across the bip174 psbt specification. This is done to speedup parsing for a signer such that he can observe whether the master fingerprint for the public key for that ...
user avatar
3 votes
3 answers
1k views

How do you switch your bitcoinjs integrationfrom TransactionBuilder to transactions-psbt.js?

the code below works: const btc = require('bitcoinjs-lib'); var tx = new btc.TransactionBuilder(net); inputs.forEach(o => tx.addInput(o.txId, o.vout)); outputs.forEach(o => tx.addOutput(o....
user avatar
  • 167
3 votes
1 answer
238 views

How do I calculate transaction fee for call to createpsbt()?

When my user invokes my app, he passes as an input parameter the desired value of the TX fee in satoshis per byte. I create a PSBT by calling createpsbt(). I exert complete control over the ...
user avatar
  • 125
1 vote
1 answer
643 views

Is it possible to use Electrum to create a multisig wallet with a trezor and an airgapped coldcard?

I set up a 2-of-3 multisig using Electrum, a Trezor, and a Coldcard. During testing, I ran into issues using the Coldcard to sign. My approach: (On Electrum) File -> New/Restore -> Multi-signature ...
user avatar
  • 175
3 votes
0 answers
268 views

Is it possible to use Bitcoin-core for multisig? Can it handle change addresses?

I have tried to import three xpub in a watch-only wallet as keypool with importmulti and a multisig output descriptor and to fill the first address with some BTCs. When I try to spend the newly ...
user avatar
1 vote
1 answer
734 views

Cannot sign txn with change address using bitcoinjs-lib psbt

I am having a difficult time figuring out how to sign a spend from a change address. I get Error: cannot sign for this input with the key <value>. The initial transaction works fine, where I ...
user avatar
  • 33
0 votes
0 answers
118 views

How could PSBT deal with data capacity limit of QR code?

QR code has very limited data capacity. (According to Wikipedia) one single QR code can only carry <3KB of binary data. It's not rare for a PSBT to hit this 3KB limit, especially for ones which ...
user avatar
2 votes
1 answer
104 views

`createpsbt` RPC call doesn't provide PSBT inputs & outputs

I'm attempting to create a PSBT using RPC: bitcoin-cli createpsbt [[{"txid": "1d76879500aecafde541770b5d44ccec5955b4c1a455fae446bf1df7b5ea43e9", "vout": 0}, {"txid": "...
user avatar
0 votes
1 answer
494 views

Why do I get: Error: <address> has no matching Script

The example code for psbt.addOutput() with address '1KRMKfeZcmosxALVYESdPNez1AP1mEtywp' works as expected. But if I change this to an testnet address I get this error: ' has no matching script'. I ...
user avatar
  • 1
0 votes
1 answer
103 views

Correct way to use joinpsbt for manual coinjoin?

I am developing a feature in my app for "manual coinjoins" which follows this as inspiration: https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki#Manual_CoinJoin_Workflow I am not an ...
user avatar
  • 372
0 votes
0 answers
77 views

analyzepsbt says next role is "updater", but nothing is "missing"

I'm trying to spend a 2/2 P2WSH input. I don't understand how the "next" field can be "updater" if the "missing" field is empty: $ bitcoin-cli -testnet analyzepsbt cHNidP8BAH0CAAAAAXz0qBDXO+...
user avatar
3 votes
1 answer
188 views

`walletcreatefundedpsbt` with unconfirmed inputs

I would like to create a psbt using walletcreatefundedpsbt spending unconfirmed ouptputs. Is this possible? When I call that RPC command with 0 confirmed balance but with sufficient unconfirmed ...
user avatar
1 vote
1 answer
97 views

From unsigned to psbt transaction

Recently, I happened to see in a codebase something like the following snippet to convert a standard transaction into a psbt format: txHex = "...
user avatar
  • 41
3 votes
1 answer
208 views

Why is not possibile to convert a signed transaction into psbt?

In the bitcoin core doc is explicitly said that conversion from hex to psbt are only allowed for unsigned transactions, or, at most, passing a signed one with the permitsigdata param set to true, but ...
user avatar
  • 41
0 votes
2 answers
117 views

How to create the data parameter for a PSBT?

I am sure this is a dumb question but if using: bitcoin-cli walletcreatefundedpsbt "[{\"txid\":\"myid\",\"vout\":0}]" "[{\"data\":\"00010203\"}]" How do you create the data parameter? Where does it ...
user avatar
  • 372
1 vote
1 answer
113 views

What is the exact difference between combinepsbt and joinpsbts

They seem to do pretty much the same thing. The only apparent difference being that combinepsbt seems more for updating the same psbt with imcremental signatures while joinpsbts seems more for joining ...
user avatar