By default, none of the major hardware wallets support Payment Protocol. In order to send payments to BitPay invoices, you must use a Payment Protocol-compatible desktop wallet app linked to your hardware wallet.
This guide assumes that your hardware wallet is already set up and that you are setting up a non-SegWit hardware wallet. (Please note that while Electrum does not currently work with hardware wallets using SegWit, we do expect that support to be added in the future.)
Things you will need:
- Nano Ledger or TREZOR hardware wallet
- Electrum Desktop Wallet app
- Plug in hardware wallet to computer.
- For Nano Ledger, Please follow steps 3-6. Trezor can skip straight to step 6.
- Input personal PIN to unlock wallet.
- Navigate to the Bitcoin app on Ledger.
- Open Ledger Wallet Bitcoin Chrome app. Once you can see your balance in Ledger’s wallet, proceed to the next step
- Open Electrum.
- In Electrum, Click File > New/Restore.
- Name your hardware wallet, then click Next.
- Select Standard Wallet, then click Next.
- Select Use a hardware device and click Next.
- Remember that your hardware device must be currently connected to your computer, unlocked, and showing in the Ledger Bitcoin Wallet app (applicable to Nano Ledger only, TREZOR authenticates in the next steps).
- Electrum will show “An unnamed ledger [ledger, initialized]” or "TREZOR [trezor, initialized]". Select Next.
- For a TREZOR, you will need to input the PIN you have chosen at this point. Nano Ledger users can skip this step.
- Do not change derivation path. Just click Next.
- Electrum will generate your addresses and will then show your past transactions.
From here, you can paste a BitPay payment protocol URL into the “Pay to” field of the send window and submit your transaction. (By default Electrum’s bitcoin miner fee is set to help your transactions confirm within 5 blocks. This will typically be undesirably slow.)
If you receive an error that says Read Error while using Nano Ledger, follow the below steps:
- From inside the bitcoin wallet app on the Ledger device, click the down button to show the word Settings.
- Click both buttons to select Settings.
- Click both buttons to select Browser Support.
- Change this to yes, then back to no.
- Scroll down to click back, and return to main screen of wallet.
- Scroll back up until you can see Use wallet to view accounts.
- Resend the transaction.