I’m trying to set up a collaborative custody multisig wallet in sparrow. I hold two keys the custodian holds one key. I imported the wallet config file in sparrow which creates a watch only version of each keystore in sparrow. I want to be able to send from sparrow so I need to import the keystore for two of the keys.
On one device when I import the keystore it gives me the option to choose a custom derivation path. But I can’t figure out how to do the same thing with Passport. Is there a way to create a sparrow keystore import file with a custom derivation path using Passport?
We don’t have a custom export feature just yet, but if you can share a little more info on the setup I might be able to help with an alternative solution.
Is the derivation path you need to change at the account or script type level? Would also be helpful to know what the service is so I can check their documentation.
I’m working with Unchained. The wallet config file that gets exported from Unchained is essentially:
Derivation1: m/x/x/x/x
Fingerprint1:
xpub1
Derivation2: m/x/x/x/x
Fingerprint2:
xpub2
etc
When I look at the sparrow-multisig json from passport it contains:
“p2sh_deriv”: “m/45’”,
“p2sh”: "xpub
The derivation path I want is m/45’/0/0/0. I wasn’t sure if I can simply replace the p2sh_deriv and xpub with the values from the Unchained wallet config and import the json in sparrow.
Just to clarify, is the wallet on Passport one of the three keys used when setting up your Unchained vault? If yes, after importing the wallet config file from Unchained to Sparrow, have you tried to export this into Passport?
On Sparrow you would head to Settings > Export > Passport multisig > Show. Then on Passport you’d head to Settings > Bitcoin > Multisig > Import from QR and scan the QR code Sparrow is displaying.
Yes I used Passport as one of the three keys when setting up the Unchained vault. I know they claim to not support Passport but it didn’t give me any errors when I created the vault.
I didn’t export from Sparrow to Passport. When I imported the wallet config file from Unchained into Sparrow, I also imported the Unchained wallet config file into Passport. Passport > Settings > Bitcoin > Multisig > Import from microSD.
Would importing the Unchained wallet config file into Sparrow and Passport be the same as importing the Unchained wallet config file into Sparrow then Sparrow export to Passport?
I’m able to do the Sparrow to Passport method if that is the proper order of operations.
I wanted to send a small test transaction to the vault and then try sending it back out to confirm I could sign with Passport. But since it’s a Roth IRA account Unchained said I couldn’t send bitcoin directly to the vault (taxes blah blah). If there is a way to sign a transaction without first sending bitcoin to the vault I’m unaware how to do that. Please forgive me, I’m new to multisig.
One more note, I did do a receive address verification with the Unchained vault and Passport and it matched correctly which I assume is a good sign. I also tried exporting the Sparrow multisig config file to Passport and it said duplicate multisig wallet which is probably another good sign.
Maybe I’m overthinking this, but the part that made me worried was when I imported the Passport keystore into Sparrow I had to manually edit the json file to get the addresses/xpub to match. And I was nervous I wasn’t doing something correctly.
There isn’t a way to sign for a transaction from a multisig wallet before there are any coins there unfortunately, but the fact that you were able to import the config file and verify a receive address is a great indicator that everything is working as expected.
You shouldn’t need to edit any files, just import the vault file from Unchained into Sparrow and Passport that’s it.