Skip to main content

Use a cold wallet with FxWallet

A cold wallet keeps your keys on a phone that never goes online, so you need two phones:

  • The offline phone, usually a spare one, holds the wallet's keys and only signs. It runs FxWallet 2.17.7 or later (or imToken 2.15.0 or later) with no internet connection. To sign Siacoin (SC) transactions that an online phone with FxWallet 3.3.0 or later prepares, the offline phone needs FxWallet 3.3.0 or later too.
  • The online phone runs FxWallet as usual. It shows your balances and prepares transactions, but holds no keys.

The phones pass transactions to each other as QR codes, so the keys never leave the offline phone.

The offline phone can sign for these networks:

  • Every EVM network in FxWallet, such as Ethereum, BNB Chain, Polygon and Arbitrum. They share one address.
  • Bitcoin, Bitcoin Cash, Litecoin and Dogecoin.
  • Solana, TRON, Cosmos Hub, Kava, Sei, Alephium, Siacoin (SC) and ScPrime (SCP).

Other networks, such as XRP, Toncoin, Sui and Aptos, can't be used with a cold wallet.

Cold wallet mode isn't for hardware wallets. FxWallet connects Keystone and Goldshell hardware wallets, and can't connect a Ledger or a Trezor.

Set up the offline phone​

To install FxWallet today, the phone needs iOS 15.6 or later, or Android 7.0 or later.

  1. Reset the phone to its factory settings, which erases everything on it, then install FxWallet. On Android, install the APK from www.fxwallet.com/download if the phone can run it, rather than Google Play: you can then update FxWallet later without going online. Open FxWallet once while the phone is still online, so it downloads its latest in-app text, then close it.
  2. Turn on airplane mode, and check that Wi-Fi, mobile data and Bluetooth are off. FxWallet switches to cold mode only when the phone has no connection at all: a Wi-Fi network without internet access still counts as a connection.
  3. Open FxWallet. In cold mode, the home screen shows Connect next to Send, Receive and Scan, and the other tabs show The cold wallet is currently unable to access this feature.
  4. Create a wallet, or import one with its mnemonic phrase. Offline, FxWallet only works with wallets that have a mnemonic phrase.
  5. Write the mnemonic phrase down on paper and keep it offline. See Back up your mnemonic.
danger

Keep the offline phone disconnected from the internet from now on. Once it goes online, its keys are no longer cold.

Connect it to your online phone​

  1. On the online phone, tap Import Existing Wallet on the first screen. If you already have a wallet there, tap the wallet name at the top of the Wallet tab, then tap +. Then tap Cold / Hardware Wallet → Cold Wallet.
  2. On the offline phone, tap Connect on the home screen, next to Send, Receive and Scan. It shows a QR code. With imToken, tap the ">" icon on the wallet page, then select "Connect with other wallets".
  3. On the online phone, tap Scan to Connect and scan the QR code.
  4. Under Add Accounts, select the accounts to add, then tap Confirm.

On the online phone, the wallet is marked Cold Wallet. It can't sign anything without the offline phone.

Send from a cold wallet​

  1. On the online phone, start the transaction as usual. FxWallet shows Offline Signature with a QR code.

  2. On the offline phone, tap Scan and scan that QR code. Check the Payment Details, tap Confirm and verify it's you. The offline phone now shows a signed QR code.

    warning

    Keep the offline phone offline while you sign. Check that airplane mode is on before you scan, and don't turn on Wi-Fi or mobile data until it shows the signed QR code.

  3. On the online phone, tap I have signed with my wallet, scan the offline phone's QR code, and confirm to broadcast.

If you pay the network fee with a Gas Card, you sign twice on the offline phone, and must finish both steps within a time limit. Have the offline phone at hand before you start, and there's enough time for both.

Signing History lists your signing requests: on the online phone, tap More → Signing History on the Wallet tab; on the offline phone, tap the icon at the top right. It shows whether a request was signed, not whether the transaction succeeded on the blockchain.

Use DApps with a cold wallet​

On the online phone, connect the cold wallet to a DApp with WalletConnect as usual: see Connect to a DApp with WalletConnect. When the DApp asks for a signature, check the request on the online phone. FxWallet then shows Offline Signature with a QR code: sign it on the offline phone the same way as a transaction.

Add accounts or networks​

To add an account, create it on the offline phone, then scan its Connect QR code again from the online phone: only the new accounts can be selected.

When FxWallet adds support for new networks, the online phone shows "Now supported" with Add via your cold wallet. Tap it and follow the steps: the offline phone adds the networks, and you scan its QR code again. If the offline phone's FxWallet is too old to add them, see Update FxWallet on your offline phone.

If something doesn't match​

  • No Connect on the offline phone: it still has a connection, often a Wi-Fi network without internet access. Turn on airplane mode, then turn Wi-Fi off.
  • Wallet Mismatch: the QR code comes from a different cold wallet.
  • Account Mismatch: on the offline phone, switch to the account the transaction uses, then scan again.
  • Account Not Found: the account isn't on the offline phone. Create it there first.
  • "Use offline wallet to sign.": the offline phone is connected to the internet. Disconnect it.
  • "Offline wallet does not support this chain.": the offline phone can't sign for this network.

Last reviewed on

Still need help?

Email support@fxwallet.com or use Me → Feedback in the app.

FxWallet support will never message you first or ask for your mnemonic phrase or private key.