Is it the same procedure as the Foundation Wallet? ( via .json file )
Or how exactly do I connect the Specter to Electrum via SD
Use "
.psbt" export option on your Electrum watch only wallet (
created with your xpub, notes below)
as described here:
https://bitcoinelectrum.com/creating-a-cold-storage-wallet-in-electrum/Transfer that to Specter Shield via SD card, sign it and import it to Electrum with "
Tools->Load Transaction...".
Now, this is where it may not work, the signed raw transaction should be compatible with Electrum, else, the broadcast button wont be clickable even though the transaction is fully signed.
If it doesn't work and you're really up to it, you can convert the exported base64 psbt text (
signed) to serialized hex string
with Bitcoin Core command:
finalizepsbt , it should output a hex string if the psbt is fully signed.
With that, you should install Bitcoin Core in the air-gap machine, using that command wont require a wallet nor syncing, just use its console if you do not want to use CLI (
Window->Console).
Notes: If Specter Shield can export an Electrum-compatible skeleton wallet like what Coldcard does, use it.
If you have no other option but through xpub and your addresses aren't legacy, you should convert it first to a different format (
e.g.: zpub, ypub) using convert_xkey command in the console (
View->Show Console).
Sample commands (
testnet):
Legacy to Native SegWit:
convert_xkey(xkey="tpubDEVePGDqQ8LvBfvr6FcwScddR8cqubztoFHhW8VBdvFEXJDfiUtovx26FuuvyyCxjT88nhEnKVacd7yurPLjMEW34gDSvLBCRvaw2Nt1eeu",xtype="p2wpkh")
Result:
vpub5aTVFh4KPVJWDHMkyM4bpX7Fk5EJ2yWqRPexaneGXzjafovW8wibYP2yyTuyTewt8GMcgAXns53 UANGB28fTsKgYGQ5J4yszJWsEV9pVfCLLegacy to Nested SegWit:
convert_xkey(xkey="tpubDEVePGDqQ8LvBfvr6FcwScddR8cqubztoFHhW8VBdvFEXJDfiUtovx26FuuvyyCxjT88nhEnKVacd7yurPLjMEW34gDSvLBCRvaw2Nt1eeu",xtype="p2wpkh-p2sh")
Result:
upub5FdDx2PQEom2MzAe8zGycS1ka75r6MXLWH8joPkP9zMhci7GtHZ2vKNqxFxPTkHxidEovgwEQQg vH5ecJSFT55zwQ4NsV54W2nob6dNm9aSNative SegWit to Legacy:
convert_xkey(xkey="vpub5aTVFh4KPVJWDHMkyM4bpX7Fk5EJ2yWqRPexaneGXzjafovW8wibYP2yyTuyTewt8GMcgAXns53UANGB28fTsKgYGQ5J4yszJWsEV9pVfCL",xtype="standard")
Result:
tpubDEVePGDqQ8LvBfvr6FcwScddR8cqubztoFHhW8VBdvFEXJDfiUtovx26FuuvyyCxjT88nhEnKVa cd7yurPLjMEW34gDSvLBCRvaw2Nt1eeu