Issue with opening psbt on coldcard for 3-of-2 wallet transacation
See original GitHub issueHi everyone.
I’m trying to create a multisig with a coldcard, a ledger, and an electrum wallet, and running into problems when exporting the psbt file to the cold card. When I open it on the cold card I get the following error.
Failure - invalid PSBT - deriv 0 != 4 xpub depth (xfp=mywalletfingerprint)
// the fingerprint is the one for the Electrum wallet.
The electrum multisig wallet was created using a BIP39 seed (not an Electrum seed) and the zpub imported successfully into Specter. I was able to import the wallet .txt file back into the Coldcard successfully and was able to sign the transaction on both Ledger and the Electrum. Just wasn’t able to sign the PSBT with the Coldcard.
If I open the transaction that was meant for the Coldcard on the Electrum wallet (not that it would do anything), I get a similar error: “Electrum was unable to parse your transaction: SerializationError('PSBT global xpub has mismatching depth (4) and derivation prefix len (0)’)”
Not sure I’m doing something wrong here, as both Ledger and Electrum are able to sign, the wallet file was imported successfully, and the error message seems to be consistent on both Coldcard and Electrum.
One last note: If I create a 2-of-2 wallet with just the Ledger and the Coldcard, it signs fine. Happy to add more information here in case it’s helpful.
Currently running the up-to-date firmware for Coldcard (4.1.3).
Thanks for any help in advance!
Issue Analytics
- State:
- Created 2 years ago
- Comments:11
Top GitHub Comments
Ok, after studying the code https://github.com/cryptoadvance/specter-desktop/blob/10065f10a1674cf81baa80696d287f260b669b91/src/cryptoadvance/specter/templates/device/new_device/new_device_keys.jinja#L182 there is a way to add fingerprint, derivation and xpub. You have to format all as
[fingerprint/48h/1h/0h/2h]xpub
and paste it into the “paste xpub” field. But this is not user friendly or intuitive at all.Better structured is the dialog for “add device” --> “manual configuration”
Yes, definitely! This is an issue with the derivation-path. We had it here and i tracked down “deriv 0” to zero slashes in the derivationpath. https://github.com/cryptoadvance/specter-desktop/issues/1452#issuecomment-1006685168
@relativisticelectron any idea what role electrum could play here?