sparrow icon indicating copy to clipboard operation
sparrow copied to clipboard

Cannot sign PSBT with Keystone

Open cx-cj opened this issue 3 years ago • 3 comments

I cannot use Keystone to sign a PSBT from Sparrow. Sparrow is serving as a watch-only 3-5 multi-sig wallet coordinator. The multi-sig wallet has been imported correctly into Keystone and all signers and addresses have been verified correctly. The correct multi-sig wallet is selected on Keystone with the correct wallet information. The transaction is a spend from bech32 address going to P2SH (Pay 2 Script Hash) address type.

Whenever the QR code from Sparrow for the PSBT is shown, the Keystone states: "FAILED: Invalid transaction data". Using a microSD to export the PSBT from Sparrow also gives the same error. The issue therefore is not with the QR code. No further information is given and no other options are given. Keystone is running Bitcoin-only 2.5 firmware. Sparrow wallet version is sparrow_1.5.6-1

Coldcard (different signer) is able to sign the PSBT without issue. I therefore don't think the issue is with Sparrow creating the template PSBT, but not sure how Keystone verifies PSBT transactions differently than Coldcard. I had previously signed an outgoing transaction from this mult-sig wallet successfully from a Cobo 6 months ago using the same private key that has since been imported into the Keystone. Neither the old Cobo or the new Keystone can sign the present day PSBT. I tried downgrading the Sparrow version back to what I had previously used and the same old Cobo that had worked before, but that didn't work either. Hence, why I tried upgrading to the new Keystone. Could it be an issue with handling of a specific UTXO between Sparrow and Keystone/Cobo?

cx-cj avatar Feb 06 '22 13:02 cx-cj

I'm not sure either - I've just tried signing a 2 of 2 multisig transaction using the 2.5 firmware, and I was able to sign without issues.

I think it is worth trying a few of the options in the File > Save PSBT menu in Sparrow to save the PSBT to microSD. It might be the size of the PSBT, in which case the Without Xpubs option can help to reduce the PSBT size.

craigraw avatar Feb 06 '22 13:02 craigraw

Thx for recommendation. Unfortunately skipping xpubs did not work either. If I avoid dust inputs and have no change, I can get the transaction into Keystone, but interestingly though the send/receive addresses are correct, the amounts are all wrong. Sparrow nonetheless recognizes the signed PSBT as valid. Coldcard shows the correct amounts when signing.

cx-cj avatar Feb 06 '22 19:02 cx-cj

@cx-cj Thanks for the feedback, Would you please share the psbt file to us for investigation ?

aaronisme avatar Feb 07 '22 07:02 aaronisme

No progress on this issue for some time, so I'm closing it off.

craigraw avatar Sep 06 '22 10:09 craigraw