Skip to main content

Explore different wallet types

Turn on-chain data into a live browser experience by building a dashboard that shows any address’s balance and recent transactions.
Explore different wallet types background
Challenge

Explore different wallet types

The Scenario

You’ve generated keypairs on the command line, saved secret keys to files, and connected a browser wallet to devnet. All of these are “wallets,” but they work differently, protect your keys differently, and suit different use cases. A CLI keypair file sitting on your laptop is not the same thing as a hardware device that never exposes your private key to software.

Today you’ll set up and compare three different wallet types hands-on. By the end, you’ll understand the tradeoffs each one makes between convenience, security, and programmability, and why most Solana developers use more than one.

Quick mental model

In Web2, you have different ways to authenticate depending on what you’re doing. You might SSH into a server with a local key, log into a dashboard with a password and 2FA, or use a hardware security key for your production infrastructure. Each method makes a different tradeoff between ease of use and security. Solana wallets work the same way. They’re all managing the same underlying keypair, but where and how they store it changes everything.

Two axes matter most:

  • Hot vs. cold: Is the private key on a device connected to the internet (hot) or on something air-gapped or offline (cold)?
  • Custodial vs. non-custodial: Do you control the private key, or does someone else hold it for you?

Every wallet you’ll encounter sits somewhere on these two axes.

The experiment

You’re going to work with three wallet types today: the CLI wallet you already know, a browser extension wallet, and a mobile wallet. For each one, you’ll do the same three things: create or connect a wallet, get its public key, and request a devnet airdrop. Then you’ll compare what the experience felt like.

1. CLI wallet (you’ve done this)

You already generated a keypair with solana-keygen in an earlier challenge. Pull it up again:

solana address
solana balance

Your private key lives in a JSON file at ~/.config/solana/id.json. That’s it, a file on disk. Anyone who can read that file can sign transactions as you. There’s no password prompt, no confirmation dialog, no 2FA. This is a hot wallet in the most literal sense: your key is a plaintext file on an internet-connected machine. That’s fine for devnet work and local development. It’s exactly how most Solana developers interact with their programs during testing. But you wouldn’t store real value this way.

2. Browser extension wallet

If you set up a browser wallet for Day 4’s challenge, you can skip the installation and use that same wallet. If not, install Phantom or Backpack in your browser. Either way, pay attention to what happens during setup:

  • You create a password. This encrypts the private key at rest in your browser’s storage.
  • You get a seed phrase (usually 12 or 24 words). This is a human-readable recovery phrase for the wallet. From it, the wallet can derive the private keys for your accounts. Write it down physically. If you lose the device, this is usually how you recover access.
  • The extension generates your keypair and shows your public address.

Now switch the wallet to devnet in its settings, then request an airdrop through the wallet’s UI or use the faucet at faucet.solana.com. In Phantom, this is usually under Settings and Developer Settings.

Compare this to the CLI: same keypair concept underneath, but the browser wallet adds a password layer, gives you a recovery seed phrase, and shows a confirmation popup every time a site wants to sign a transaction. That popup is doing real work. It’s the reason browser wallets are safer for everyday use than a plaintext JSON file. You see what you’re approving before you approve it.

3. Mobile wallet

Install a mobile wallet. Phantom works on iOS and Android, or try Solflare. Create a new wallet on your phone (don’t import your browser wallet’s seed phrase; use a fresh one so you can see the full setup flow again).

Notice the differences from the browser experience:

  • Mobile wallets often support biometric auth (Face ID, fingerprint) instead of or alongside a password.
  • The seed phrase backup flow is the same. This is common across non-custodial wallets.
  • Depending on the wallet and device, some mobile wallets can use OS- or hardware-backed secure storage for key material.

Switch to devnet and airdrop again. Then try sending a small amount of devnet SOL (e.g. 0.01 SOL) from your mobile wallet to your CLI wallet address. You can verify it arrived with solana balance. This is your first cross-wallet transfer: same network, different keypairs, different security models. You now have three wallets, three different keypairs, each with a devnet SOL balance.

Further reading: hardware and multisig wallets

Two other wallet types are worth knowing about, though they’re harder to try on devnet:

A hardware wallet like a Ledger stores your private key on a separate physical device. The key never leaves the device. When you need to sign a transaction, the transaction data is sent to the device, signed there, and the signed result is sent back. Your computer never sees the private key. This is a cold wallet: high security, lower convenience. Most people use these for storing real value.

A multisig wallet (like Squads on Solana) requires multiple people to approve a transaction before it executes. Think of it like requiring two signatures on a company check. DAOs and teams use these to manage shared treasuries so no single person can move funds alone.

Compare your results

You now have three wallets running. Think about these questions:

  • Which wallet was fastest to set up?
  • Which felt safest?
  • Where is the private key stored in each case? Could you point to the exact file or storage location?
  • If your laptop caught fire right now, which wallets could you recover? How?
  • If you were building a dApp and needed to sign 500 test transactions in a script, which wallet would you use?
  • If you were holding $10,000 in SOL, which wallet would you use?

The answers are different for each question, and that’s the point. The “best” wallet depends entirely on what you’re doing with it.

Resources

What you learned

You explored three wallet types hands-on and saw that they all manage the same underlying concept, a keypair, but make different tradeoffs around security, convenience, and recovery. CLI wallets are fast and scriptable but expose your key as a file. Browser wallets add a confirmation layer and password encryption. Mobile wallets can leverage hardware-backed security on your phone. Hardware wallets keep the key off your computer entirely. Multisigs distribute trust across multiple people.

Tomorrow you’ll write about what your public key actually represents on-chain, your identity in a system where there are no usernames.

Submission

Write a short reflection on what you learned by comparing the CLI wallet, browser wallet, and mobile wallet. Describe which one felt most convenient, which felt most secure, and when you would choose each one in real development or personal use.

Submit your project