This website uses cookies

Read our Privacy policy and Terms of use for more information.

Connecting to apps without giving away your keys

Lesson 6 of 6
After this lesson you’ll be able to use an app with your hardware wallet behind it, read what the app is asking you to sign, and take back a permission you gave.
A collage of a line of steamrollers stopped on a country road at dusk, with one small man in an overcoat in front of them holding up a plain blue disc on a pole.

Connect, never import

Most apps talk to a browser wallet such as MetaMask, and the safe way to use one with a hardware wallet is to connect the device, so that MetaMask shows the account and the device still does the signing.

1
Plug the device in by USB (a Ledger needs a cable, not Bluetooth) and enter its PIN. On a Ledger, open its Ethereum app, and close Ledger Wallet on the computer first.
2
In the MetaMask extension, open the account menu and choose “Add account or hardware wallet,” then “Add hardware wallet.”
3
Pick Ledger or Trezor and follow the device’s prompts.
4
Select the device when the browser asks.
5
Choose the account to show, and click Connect. Pick an account you keep for apps, never your vault account (the end of this lesson explains why).

MetaMask’s hardware wallet guide has the current screens. Leave blind signing off, even where that guide mentions it. From then on the account appears in MetaMask, and every transaction still waits for a press on the device.

MetaMask also has a feature called Import account. It takes a private key and stores it inside the browser, and it’s for an account that lives in software. A hardware wallet’s key or phrase never goes into it, or into any software wallet.

MetaMask’s own guide says to create the phrase on the hardware wallet, never to import one from MetaMask. Type the phrase into a browser once and the device has nothing left to protect.

Two kinds of request

An app can ask your wallet for two things, and they look alike on the screen.

A transaction moves coins or tells a contract to do something. It costs a fee, and it appears on the chain for anyone to see.

A signature is a message you sign with no fee and no record on the chain. MetaMask’s page on the subject says such signatures “are never broadcast to the network.”

Some are harmless, like signing in to a site. Others move money.

Two panels. Transaction: an arrow runs from a wallet into a block on the chain, with a fee tag on it. Signature: a signed sheet goes to the app, its path to the chain ends at a cross, and a dotted arrow leads to a hand labeled can be used later.
Transaction: Moves coins or tells a contract to act. Costs a fee, and sits on the chain for anyone to see.
Signature: A signed message. No fee and no record on the chain, and some can be used later to move your money.

Subscribe to keep reading

This content is free, but you must be subscribed to The Crossover to continue reading.

I consent to receive newsletters via email. Sign up Terms of service.

Already a subscriber?Sign in.Not now