Sign offline with a hardware wallet or a spare phone
Keep your keys offline with a Keystone or Goldshell hardware wallet, or a spare phone in cold wallet mode, and sign by QR code in FxWallet.
Hardware & Cold Wallets at a glance
- Hardware wallets
- Keystone and Goldshell
- Connection
- QR code only
- Cold wallet mode
- A spare phone, kept offline
- Signatures
- Checked before broadcast
Keep the keys offline, use them in FxWallet
A hardware wallet keeps private keys on a device that never goes online. On its own, however, it cannot show balances, swap tokens or connect to DApps.
FxWallet works with Keystone and Goldshell hardware wallets over QR codes: the app holds only the public keys, prepares each transaction, and the device signs it.
Prepares the transaction, then verifies the signature and broadcasts it.
Checks the transaction and signs it.
Only QR codes pass between the two phones: no network, Bluetooth or cable.
Why use FxWallet with offline keys
A spare phone as a cold wallet
No hardware wallet is needed. FxWallet on a spare phone kept offline holds the keys and signs by QR code, while FxWallet on your everyday phone prepares and sends each transaction. imToken on the offline phone works as well.
Air-gapped, QR codes only
Cold wallet mode, like Keystone and Goldshell, connects by QR code alone: no Bluetooth, no cable and no network on the signing device. Your everyday phone never holds the keys.
Send, swap and use DApps with keys offline
Each transaction is prepared on your everyday phone, then checked and approved on the signing device. Cold wallet mode can also pay network fees with a Gas Card.
A wrong signature is never broadcast
Before broadcasting, FxWallet checks that each signature the device returns comes from your account and matches the transaction you prepared. A signature that does not is rejected.
How it works
Hardware & Cold Wallets in three steps
Add the hardware wallet
In FxWallet, add a wallet and choose Cold / Hardware Wallet, then Keystone or Goldshell.
Scan to connect
Scan the device’s account QR code with the phone. FxWallet imports the public keys only; the private keys stay on the device.
Sign on the device
When you send, swap or sign in a DApp, FxWallet shows the transaction as a QR code. Scan it with the device, check it and sign there, then scan the signed result back into the app.
Coverage and limits
- QR codes only: no Bluetooth or USB cable. Ledger and Trezor are not supported.
- Keystone: EVM networks, Bitcoin, Bitcoin Cash, Solana, TRON, the Cosmos networks (Cosmos Hub, Kava and Sei) and XRP Ledger.
- Goldshell: the accounts the device shares, on EVM networks, Bitcoin, Bitcoin Cash, Litecoin, Dogecoin, Solana, TRON, the Cosmos networks, Alephium, Sia, ScPrime and Kaspa.
- Bitcoin: FxWallet uses legacy accounts (addresses starting with 1), for hardware wallets as for every other wallet.
- Gas Card and paying the network fee with a token are not available with Keystone or Goldshell, and Earn’s Staking tab is not shown.
- FxWallet checks every signature the device returns before it broadcasts the transaction.
- Cold wallet mode turns a second phone, kept offline, into the signer: FxWallet 2.17.7 or later, or imToken 2.15.0 or later. Cold wallets can pay fees with a Gas Card.
- Cold wallet mode signs on EVM networks, Bitcoin, Bitcoin Cash, Litecoin, Dogecoin, Solana, TRON, the Cosmos networks (Cosmos Hub, Kava and Sei), Alephium, Sia and ScPrime. The offline phone needs a wallet with a mnemonic phrase.
Questions
In the help center
Does FxWallet support Ledger or Trezor?
Not at the moment. FxWallet works with QR-code hardware wallets: Keystone and Goldshell.
Can I swap with a hardware wallet?
Yes, on the networks where the hardware wallet has an account. The swap is checked and signed on the device.
What is cold wallet mode?
It uses a second phone that stays offline as the signer, instead of a hardware wallet. FxWallet on your online phone prepares transactions as QR codes, and the offline phone signs them. See Use a cold wallet with FxWallet.
Why is my SegWit or Taproot Bitcoin address not shown?
FxWallet uses legacy Bitcoin accounts (addresses starting with 1), for hardware wallets as for every other wallet, so it imports only those from the device. Funds on SegWit or Taproot addresses are not affected; they are simply not shown in FxWallet.