Questions tagged [bip174-psbt]

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

Filter by
Sorted by
Tagged with
0
votes
0answers
21 views

Bitcoin Core 0.21.0 Loading PSBT from file gets error: “unable to decode psbt…”

The Bitcoin Core GitHub text says to ask my question here. I also asked on reddit but maybe this is a better place. I created a PSBT file from my online Bitcoin Core wallet. I transferred it to my ...
1
vote
1answer
49 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 ...
2
votes
1answer
87 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 (...
6
votes
1answer
238 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 ...
0
votes
1answer
40 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) ...
1
vote
1answer
29 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 ...
1
vote
0answers
32 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 ...
1
vote
1answer
186 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?
1
vote
1answer
176 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 ...
2
votes
2answers
87 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&...
0
votes
0answers
68 views

How to sign a transaction and also get the signature part from it using electrum console?

How do I sign a transaction with following things: Unsigned Tx: ...
2
votes
1answer
48 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 ...
0
votes
1answer
17 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? ...
6
votes
1answer
152 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 ...
1
vote
1answer
192 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 ...
2
votes
1answer
211 views

Why did the core developers choose base64 for PSBT encoding?

Why does bitcoind use baase64 to encode PSBT's? Just out of curiosity.
0
votes
0answers
200 views

Bitcoinjs Transactions using PSBT in Bitcoinjs Lib

I am trying to use the bitcoinjs lib to create a tx using PSBT const testnet = Bitcoin.networks.testnet const tx = new Bitcoin.Psbt(testnet) I am not using transaction builder as it throws ...
0
votes
0answers
32 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 ...
1
vote
0answers
67 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 ...
2
votes
1answer
57 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 ...
2
votes
1answer
165 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 ...
3
votes
3answers
629 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....
1
vote
1answer
379 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 ...
2
votes
0answers
173 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 ...
1
vote
1answer
338 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 ...
0
votes
0answers
72 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 ...
2
votes
1answer
62 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": "...
0
votes
1answer
192 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 ...
0
votes
1answer
74 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 ...
0
votes
0answers
60 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+...
3
votes
1answer
131 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 ...
1
vote
1answer
80 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 = "...
2
votes
1answer
134 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 ...
0
votes
1answer
83 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 ...
1
vote
1answer
78 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 ...
2
votes
1answer
139 views

PSBT (BIP-174, Partially Signed Bitcoin Transaction) Ordering of keys

When serializing a PSBT (BIP-174, Partially Signed Bitcoin Transaction), I cannot find any information if the keys should be ordered when serializing the PSBT? Under the "Test Vectors" section for ...
8
votes
1answer
1k views

Expected use model for PSBT

I want to use Bitcoin Core to create a PSBT for offline signing (cold storage) of a multisig p2wsh-in-p2sh address, such as that created by Glacier. Based on the PSBT doc I assume I want the online ...
2
votes
3answers
726 views

Signing a bitcoin transaction OFFLINE fails

I know this subject has been discussed quite a lot, but after several days looking for this to work, I give up. I want to create a transaction on a view-only wallet which is connected to the internet ...