Questions tagged [bip174-psbt]
Bitcoin Improvement Proposal 174 concerns Partially Signed Bitcoin Transactions (PSBT).
109
questions
1
vote
0
answers
24
views
What is causing this Data Error from Trezor?
I'm experimenting with output descriptors and multi-sig wallets and I came across a problem providing the last signature to my 2-of-3 psbt.
Data Error: Input does not match scriptPubKey.
I'm ...
1
vote
1
answer
44
views
Can a transaction that has been signed and broadcast to the mempool be intercepted if it uses the sighash NONE|ANYONECANPAY?
Example:
Alice creates a PSBT and signs her input using the SIGHASH_NONE | SIGHASH_ANYONECANPAY flag. She then passes this transaction to Bob. Bob adds his own input and output and signs them with the ...
1
vote
2
answers
49
views
Testnet vs Mainnet PSBTs
Is there a difference between test net and main net PSBTs? Or, if I cover all edge cases for test vectors I created on main net in my unit testing, is that sufficient?
0
votes
0
answers
50
views
Getting error for transferring BTC using node js code, getting error "No inputs were signed"
I am creating a system where users will raise a request to transfer them some BTC, in my code i am using all the previous utxos of my wallet to transfer BTC, even i am signing all the utxos still i am ...
1
vote
1
answer
34
views
How do you finalize a PSBT when the last signature is provided by a HWW?
Most device APIs for HWI have a method sign_tx(tx: PSBT) that has a return type of PSBT. If the hardware device I'm interacting with provides the final signature necessary, how do I, from the output ...
1
vote
0
answers
23
views
Trust PSBT Coldcard
I sent a psbt through HWI to my coldcard for signing (it is a multisig tx created with one of the keys in the CC at m/48h/0h/0h/2h) and I am getting the error:
HWI.hwilib.errors.BadArgumentError: ...
2
votes
1
answer
40
views
Need Coldcard CLI doc clarification
I'm looking at the documentation for the Coldcard CLI and I'm a little confused as to what specifically the -p, --path TEXT command does. In the documentation, it says the following:
% ckcc msg --...
1
vote
0
answers
26
views
Trying to find Elegant solution to PSBT Multi-sig Signing
I am trying to sign an incoming PSBT in custom software I'm building and I'm having trouble understanding how the signing process of a PSBT actually works. I have a Trezor where the xPub I used in the ...
1
vote
1
answer
115
views
How to spend a multisig descriptor wallet transaction with bitcoin-cli?
I am looking for the correct way to spend multisig outputs with descriptor wallet bitcoin-cli.
In regtest, I successfully created a funding transaction tx1 with the following outputs:
out:0 sh(multi(1,...
1
vote
2
answers
53
views
Is there a helper method to confirm PSBTs?
Does anyone know of a library/method in Java that I can pass a String into and see if it is a properly formatted PSBT in base64?
1
vote
1
answer
99
views
How can I set the derivation path for a multisig across BlueWallet, Electrum and Sparrow wallet?
I just exported a PSBT from BlueWallet and now I'm trying to sign it with the final signature in a multisig setup in Electrum or Sparrow wallet however with both, I am unable to do so:
From my ...
0
votes
0
answers
50
views
Error: Cannot sign for this input with the key in BitcoinJS transaction
I'm trying to create and sign a Bitcoin transaction using BitcoinJS on the testnet. However, I'm encountering an error when trying to sign the transaction:
Error: Can not sign for this input with the ...
1
vote
1
answer
72
views
Why does walletprocesspsbt finalize the psbt but not return the transaction hex?
I am currently using walletprocesspsbt to optionally finalize a psbt and fill in bip32derivs if not signed already. The psbt is fully signed and finalized but I have to make an additional rpc command ...
1
vote
1
answer
97
views
How Does the Blockchain Recognize Locked UTXOs in a PSBT if the PSBT Isn't Stored On-Chain?
I'm currently exploring the use of Partially Signed Bitcoin Transactions (PSBTs) and have a question about the locking mechanism of UTXOs during the signing process. I understand that as a first ...
0
votes
1
answer
37
views
Can a Second Signer Add Data to a Bitcoin PSBT Transaction?
I'm working with Partially Signed Bitcoin Transactions (PSBTs) and have a question about the capabilities of secondary signers in the signing process. I understand that in a multi-signature scenario, ...
0
votes
1
answer
28
views
Handling UTXOs in Partially Signed Bitcoin Transactions (PSBTs) and Potential Double-Spend Scenario
I'm working with Partially Signed Bitcoin Transactions (PSBTs) and have a question about the behavior of transactions when the same UTXOs are involved in multiple transactions. Suppose I have a ...
0
votes
1
answer
42
views
Can You Create a Time-Locked PSBT in Bitcoin?
I am exploring the capabilities of Partially Signed Bitcoin Transactions (PSBTs) and am particularly interested in incorporating time locks. Is it possible to create a PSBT that includes a time lock ...
1
vote
1
answer
64
views
Implementing Conditional Fund Locking in Bitcoin Similar to Ethereum's Smart Contracts
I'm familiar with how Ethereum allows users to lock funds in smart contracts, which can then be released under specific conditions using mechanisms like the Hashed TimeLock Contract (HTLC) protocol. I'...
0
votes
1
answer
61
views
Handling Multi-Signature Transactions with PSBT in Bitcoin
I'm currently working with Partially Signed Bitcoin Transactions (PSBTs) and trying to understand the best practices for handling transactions that require signatures from multiple parties. ...
1
vote
1
answer
59
views
Why are bip32_derivs included in psbt outputs?
I do not want to share my output bip32_derivs as it seems to leak unnecessary info to other participants in collaborative transactions.
Why are bip32_derivs included in psbt outputs?
EDIT: I should ...
1
vote
1
answer
85
views
Is it possible to combine two PSBTs while retaining the existing signatures?
What if I want to combine two PSBTs: one is signed by Alice’s private key, another one is unsigned. I want to take the input and output from the signed one, and combine them with the unsigned PSBT, ...
1
vote
0
answers
64
views
how to get vsize before psbt finalized
I am using bitcoinjs-lib to construct a transaction through PSBT, but I am having difficulty obtaining the virtual size (vsize). My process is as follows:
Obtain the user's address through the ...
0
votes
0
answers
16
views
how to calclate the fee of a segwit transaction? [duplicate]
I am using bitcoin-js to construct a PSBT transaction.
Suppose address A has 10 UTXOs, each containing 0.0001 BTC.
Now I want to construct a transaction to send 0.0005 BTC to address B.
If I use 5 of ...
2
votes
0
answers
58
views
How to claim funds in a multisig address from a money pool psbt?
Mostly followed this guide on how to create a psbt where multiple users pool money together. Everything is done in regtest.
The gist of what I did is as follows:
Created 2 different descriptor ...
4
votes
1
answer
101
views
Why is my P2WSH OP_IF/NOTIF argument not minimal?
I have created an HTLC with the following Bitcoin script using bitcoinlib-js:
const redeemScript = bitcoin.script.compile([
bitcoin.opcodes.OP_IF,
bitcoin.opcodes.OP_SHA256,
...
6
votes
1
answer
127
views
How can I verify that a PSBT is solvable by a specific descriptor?
As the title suggests I would like to check whether a specific PSBT is associated with a specific descriptor, either manually or using bitcoin-cli or bdk-cli.
I'm more concerned about static ...
0
votes
1
answer
91
views
Why does my PSBT's input script not have a pub key?
I have created a PSBT to sign an HTLC using a funded P2WSH, that I wish to sign with my xverse wallet. This is my decoded PSBT which I have created using bitcoin-cli
o@OscarPC:~/bitcoin-htlc$ bitcoin-...
0
votes
0
answers
38
views
How to sign P2WSH PSBT with sats-connect?
I have created a funded P2WSH script, which is an HTLC. I now want to create a PSBT which will be signed by another wallet to withdraw the funds.
The problem is that the PSBT signing is throwing the ...
1
vote
0
answers
69
views
I send sats to the Bitcoin Core wallet I created some time ago without knowing what I was doing and now facing issues with withdrawal I am clueless
Some time ago, I set up a Bitcoin core wallet and sent funds to that wallet a few times thinking they'll be safely stored. Well, they are, and probably too safely. I have a hard time getting funds out....
0
votes
0
answers
36
views
Is it possible to prompt another wallet to add to a PSBT and finalize it?
Is there anyway to request a wallet to complete a PSBT?
Let's assume I want my client to send a transaction with follow structure:
output[0]: OP_RETURN with bytes 636363636363
output[1]: SEGWIT ...
1
vote
1
answer
46
views
broadcast ps2wsh transaction failed
Greeting,
I hope someone can guide me about what is wrong with my p2wsh transaction hex below
...
0
votes
1
answer
202
views
bitcoinjs - mandatory-script-verify-flag-failed (Signature must be zero for failed CHECK(MULTI)SIG operation)
I'm trying to follow the below transaction example by magic eden and extend it to support multiple buyers and seller (in red). However I am having difficulties when I add more than one signature from ...
2
votes
0
answers
50
views
Why is Bitcoin Core not filling in PSBT_GLOBAL_XPUB field
When creating a Partially Signed Bitcoin Transaction (PSBT) on Bitcoin Core using the walletcreatefundedpsbt, walletprocesspsbt and send* RPCs, as well as the send dialog* in the GUI the ...
1
vote
1
answer
180
views
How to use BlockCypher's test network with BitcoinJS-lib?
Trying to make a PSBT via BitcoinJS-lib.
I'm using BlockCypher's internal testnet (bcy/test) because I have no choice: literally every other testnet faucet I tested was broken.
Using BlockCypher's API ...
1
vote
1
answer
153
views
How can I add more OP_RETURN outputs to a PSBT transaction?
I want to fund a PSBT transaction that I created with Bitcoin rust.
It looks like there is no such function to do that as the Creator is the only one that can set the inputs and outputs.
There is an ...
1
vote
1
answer
113
views
Why do PSBT and Descriptor enforce providing the BIP32 derivation path from the root?
Let's consider a scenario: I have a master xprv named xprv1, and I derived an xprv named xprv2 at m/99/88h. Now, I want to use xprv2 to create a new multi-sig wallet, intending to use m/99/88h/0/* as ...
1
vote
1
answer
239
views
non-mandatory-script-verify-flag (Invalid Schnorr signature)
I try to put this into a Psbt:
Alice make payment to purchase an amount of BRC-20 from Bob
Bob request to inscribe a transfer of BRC-20 by using Burner account
Burner inscribe the transfer of BRC-20 ...
3
votes
2
answers
195
views
Which hardware wallets require importation of PSBT for knowledge of multisig set up?
My understanding of a multi-vendor multisig is that certain wallets require importation of the resultant multisig wallet's PSBT information in order to sign multisig transactions. Coldcard's ...
0
votes
0
answers
141
views
Finalize inputs for a merged psbt 'Can not finalize input #0'
I have a scenario:
UserA (bc1pmd3tdzucfnpmq2m3d82yzqmht6hp7smfc2g0tze6ywkxn6h258aszxjdn6): wants to sell an inscription. (5d8c42c867f9c09c0a44397ad2c91d73e8ebb7734e75f54f7caba8ea95eba3b6:2)
He signs a ...
0
votes
1
answer
117
views
Enforcing PSBT Signature Rules: Finalizer/Extractor and Deserialization Implementation
Should PSBT finalizers/extractors and deserialization functions enforce the rule that a taproot schnorr signature should only append a SIGHASH_* unless it is SIGHASH_DEFAULT (0), or is it left to the ...
2
votes
1
answer
231
views
Estimating virtual bytes of a transaction seems circular
I'm sorry if this has been answered before, but I haven't found anyone really bring this up.
I am trying to construct a PSBT, which assumes a fixed feerate and a fixed amount to send to some address. ...
2
votes
1
answer
200
views
Getting Error while trying to decode psbt base64 to json using bitcoinjs/bip174 library
const base64PSBT = 'base_64';
// Decode the base64 PSBT to a Buffer
const psbtBuffer = Buffer.from(base64PSBT, 'base64');
// Parse the PSBT
const psbt = bip174.Psbt.fromBuffer(psbtBuffer);
// ...
2
votes
0
answers
128
views
Bitcoin Core missing public key when generating PSBT transaction
I use Bitcoin Core for offline signing. I created a legacy watch-only wallet, imported a public key using importpubkey, then called rescanblockchain, then generated a psbt transaction text(psbt_tx_txt)...
0
votes
1
answer
109
views
Partially signed bitcoin transactions
Is the psbt data format the only way to exchange information about the Bitcoin transaction or is there another way to do it?
1
vote
0
answers
104
views
walletprocesspsbt rpc not signing psbt tx
After extensive regtest testing I've been unable to reproduce this issue.
This is a gist to regtest psbt commands that do work.
https://gist.github.com/miketwenty1/ecb9acdbca858878f1856b75493fef4c
...
4
votes
2
answers
732
views
Need help moving funds from legacy address, Coldcard won't sign psbt
I'm in needs of help moving funds from an legacy address, single sig:
I exported my Coldcard's xpub to Bluewallet. Bluewallet derived an address from that xpub onto which I received funds. ...
0
votes
0
answers
30
views
bitcoin.Psbt doesn't auto-display its method/properties in Visual Studio Code
When instantiating a new Psbt in my Visual Studio Code like below:
const psbt = new bitcoin.Psbt()
The variable psbt doesn't auto display any of its methods/properties after I add the . right after ...
4
votes
0
answers
102
views
Setting up to create PSBTs using Bitcoin Core from 10 year old non-deterministic wallet
I have an old wallet from 10+ years ago. It was created using an old version of Bitcoin Core before deterministic wallets were a thing. I have it now on an offline computer that has Bitcoin Core 21.0....
1
vote
1
answer
60
views
PSBT: What string encoding is recommended for identifier field of PSBT_IN_PROPRIETARY key?
Looks like bip174 doesn't specify string encoding (utf8, ascii) for bytes identifier field of PSBT_IN_PROPRIETARY key.
Now how a psbt lib can check if the bytes identifier is a a valid string bytes or ...
0
votes
0
answers
173
views
How to sign SegWit Transaction without using third party libraries (step by step)
I have a PSBT transaction. My code parsed it into its component parts: 3 maps - global input, output. I based on the document 1. I parsed each transaction into separate fields. Found all scripts and ...