---
title: "What Is a Crypto Wallet? What It Stores and How It Works"
url: "https://bip39-phrase.com/unveiling-the-mystery-behind-cryptowallets/"
language: "en"
published: "2024-10-20T00:00:00+00:00"
updated: "2026-10-16T00:00:00+00:00"
---

[ Wallets ](/topics/wallets/) Published October 20, 2024 Updated October 16, 2026 

# What Is a Crypto Wallet? What It Stores and How It Works

![What Is a Crypto Wallet? What It Stores and How It Works](/wp-content/uploads/2024/10/cryptowallet-hero.webp) 

A crypto wallet is an app or a device that holds the keys controlling your coins, not the coins themselves. The coins stay on the blockchain. The wallet keeps the secret that lets you spend them, works out the addresses you receive on, and signs your transactions. This guide explains what a wallet actually stores, how its keys turn into addresses, and what each part of your backup protects.

## Where Your Coins Actually Are

Every full node on a blockchain keeps its own copy of the ledger. On Bitcoin, the ledger is a chain of transactions, and each transaction creates outputs: amounts locked to a condition, usually “a valid signature from this key”. Your balance is the sum of the unspent outputs (UTXOs) that your keys can unlock. Ethereum keeps accounts instead: the network’s state stores a balance for each address, and spending from that address needs a signature made with its private key.

Either way, nothing sits inside the wallet. Lose your phone and the coins are still on the chain; lose every copy of the keys and nobody can move them again.

## What a Wallet Does

The [Bitcoin developer guide](https://developer.bitcoin.org/devguide/wallets.html) describes a wallet, at its core, as a collection of private keys, and lists three jobs it performs:

1. **Hands out addresses** derived from its public keys, so others can pay you.
2. **Watches the blockchain** for payments to those addresses and adds them up as your balance.
3. **Creates and signs transactions** that spend those funds.

[Ethereum’s documentation](https://ethereum.org/en/developers/docs/accounts/) draws the same line from the other side: an account is not a wallet, and a wallet is the app you use to manage the account. Different apps can open the same account as long as they hold the same keys.

## What a Wallet Actually Stores

A modern wallet keeps more than one key:

- **The seed.** Most consumer wallets start from a [BIP39](/bip39-the-foundation-of-crypto-wallet-security/) recovery phrase of 12 to 24 words. The phrase, plus an optional passphrase, is stretched with PBKDF2 (2,048 rounds of HMAC-SHA512) into a 512-bit seed, and [BIP32](/bip-32/) turns that seed into a tree of private keys. That is why one phrase backs up every address the wallet will ever use.
- **Derivation details.** The account path and the address type (legacy, native SegWit or Taproot, for example) tell the wallet which branches of the key tree to scan.
- **Public data.** [Extended public keys (xpubs)](/xpub-ypub-zpub/), addresses, transaction history, labels and settings. An xpub can generate an account’s addresses but cannot sign, which is how watch-only wallets show a balance without being able to spend it. It does reveal the account’s full history, so share it only where you would share a bank statement.
- **Encryption.** Phone and browser wallets normally store the keys encrypted under your PIN or password. On some desktop wallets encryption is optional: Bitcoin Core’s wallet file is not encrypted unless you set a passphrase.

Not every wallet stores the same things. Bitcoin Core keeps its keys in a wallet file that you back up instead of writing down a phrase, and its encryption covers only the private keys; transactions stay readable. A [hardware wallet](/hardware-wallets-explained/) keeps the seed inside the device and hands the app on your computer only public keys and signed transactions.

## From Private Key to Address

Keys are derived in one direction only: private key, then public key, then address. You cannot work back from an address to the key. Our [private key generator](/private-key-generator/) shows the whole chain for a randomly generated key: the private key, its public key and the addresses made from it.

- **Private key:** a 256-bit secret number. Whoever knows it can sign for the funds. When a Bitcoin wallet exports one, it usually writes it in [WIF, a Base58 format](/private-key-btc/).
- **Public key:** a point on the secp256k1 curve, calculated from the private key by elliptic-curve multiplication. Anyone can use it to check your signatures, and it does not reveal the private key.
- **Address:** a short encoded string for receiving payments. In most formats it is a hash of the public key, not the key itself:

| Address type                   | Starts with | What the address encodes                                                        |
| ------------------------------ | ----------- | ------------------------------------------------------------------------------- |
| Bitcoin legacy (P2PKH)         | 1           | A 20-byte HASH160 (SHA-256, then RIPEMD-160) of the public key, in Base58Check  |
| Bitcoin native SegWit (P2WPKH) | bc1q        | The same 20-byte HASH160 of the public key, in Bech32                           |
| Bitcoin Taproot (P2TR)         | bc1p        | A 32-byte public key: the wallet’s key “tweaked” into an output key, in Bech32m |
| Ethereum and other EVM chains  | 0x          | The last 20 bytes of the Keccak-256 hash of the public key                      |

So your public key is not your address. With hash-based addresses the full public key appears on the blockchain only when you spend from the address. Taproot is the exception: under [BIP341](https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki) the address carries a tweaked public key directly rather than a hash. [What a Bitcoin address is](/what-is-a-bitcoin-address/) covers each format in more detail, and [the EVM address format](/format-evm-addresses/) walks through the Ethereum steps.

## Seed Phrase, Private Key and Password: What Each One Protects

- **Seed phrase (recovery phrase):** the master backup. It restores every key in any compatible wallet on any device, and anyone who reads it can take the funds, so [store it offline](/store-a-seed-phrase/).
- **Private key:** controls a single address. Wallets derive these from the seed, so you rarely handle one directly.
- **Optional passphrase:** an extra secret mixed into the seed calculation. Every passphrase opens a valid wallet, so a typo leads to a different, empty wallet instead of an error.
- **App PIN or password:** unlocks the encrypted copy of the keys on one device. It cannot restore the wallet anywhere else, and in most self-custody wallets nobody can reset it for you; the recovery phrase is how you get back in.

## Common Misconceptions

- **“My coins are on my phone.”** Only the keys are. The coins are on the blockchain and can be reached from any wallet that holds the keys.
- **“If I lose my wallet, I lose my crypto.”** If you lose the phone or hardware wallet but still have the recovery phrase, you can restore the wallet on a new device. If you lose both, the funds are gone for good.
- **“My public key is my address.”** In most formats the address is a hash of the public key; see the table above.
- **“The wallet company can recover my funds.”** Only if the company holds your keys, which makes it a [custodial wallet](/custodial-vs-non-custodial-wallet/). With self-custody, nobody else can.

## Which Kind of Wallet Do You Need?

Wallets mostly differ in where the keys live and who holds them. For where they live, see [hot vs cold wallets](/difference-hot-wallet-and-cold-wallet/); for who holds them, [custodial vs non-custodial wallets](/custodial-vs-non-custodial-wallet/). If you want a wallet that gives you the keys, [which wallets let you hold your own seed phrase](/what-type-of-wallet-manage-seed-phrase-private-key-yourself/) lists the categories and what to check. [How to store crypto safely](/store-cryptocurrency/) then shows how to split funds between a spending wallet, cold storage and backups.

[ Back to Blog ](/blog/)
