Problem using zpub from Trezor in Electrum Personal Server

Please let me know if I have this topic in the wrong category.

I am in the process of setting up Bitcoin Core, Electrum Personal Server (EPS), and Electrum Desktop Wallet on a Raspberry Pi with the goal of privately connecting my wallets to Bitcoin Core via EPS. The configuration for EPS requires me to add my public keys.

I have a new Trezor Model T. After setting it up with firmware 2.5.3 (type Universal), I created a standard wallet, using defaults (so nothing unusual as far as I know). I then copied the zpub public address from the Suite via Accounts > Bitcoin > Account > Public Key (XPUB) > Show Public Key.

When I use that key in the EPS config, EPS fails to start up, complaining that “this type of wallet does not support this command”. Google wasn’t all that helpful, unfortunately. The closest thing I could find was from May, where someone was trying to use a Bitcoin Core public key in their EPS config. The stated cause in that case was because Bitcoin Core creates “descriptor” wallets by default, but EPS requires “legacy” wallets. Unfortunately, I’m still pretty new to this tech, so I couldn’t relate that discussion to any settings in Trezor suite for my wallet there.

This is maybe more a question for the EPS folks, but I figured it is possible that someone here has experience and knows of a setting that I can try in the Trezor suite’s wallet settings or something.

Hi, if you need Legacy address, then click + button in the upper left corner and add Legacy or Legacy segwit account. That should work.

1 Like

Awesome, that is exactly what I was looking for! It didn’t solve the error, but at least I can focus on other potential causes now that I’ve tried all the account types. I’ll keep digging…

1 Like

I figured it out. There was no issue with the Trezor suite at all.

Turns out that even though I added my Trezor public key to the Electrum Personal Server config, EPS still wants to have a wallet created by BitcoinCore mentioned in its config, and that wallet can’t be a descriptor wallet (which BitcoinCore creates by default, thus causing the error when starting EPS).

So I just added “wallet_filename = electrumpersonalserver” in the [bitcoin-rpc] section of EPS config, and created a blank non-descriptor wallet with that same name in the BitcoinCore GUI:

File > Create Wallet
Set Wallet name to “electrumpersonalserver”
Check “Disable Private Keys” and “Make Blank Wallet”
Uncheck “Descriptor Wallet”

With that change, EPS launches without error, and my Trezor wallets load up fine via Electrum Wallet.

1 Like