Chapter 3 of 8 Inside a Wallet
0%

Inside a Wallet

A wallet is not a bag of coins. It is a set of keys derived from one seed phrase, an index of every UTxO sitting at the addresses those keys control, and the logic to pick which UTxOs to spend.

One seed, many addresses. When you create a Cardano wallet, the 15-word seed phrase is the only secret you actually store. From that seed, the wallet derives a hierarchy of keys following the BIP-32 / BIP-44 / CIP-1852 standards. Each derived key produces an address. A single wallet typically owns dozens or hundreds of addresses without you ever noticing — the UI just shows “your balance.”

The derivation path looks like m / 1852' / 1815' / 0' / 0 / 0. The numbers are not arbitrary: 1852 is the Cardano-specific BIP-44 purpose code, 1815 is Ada Lovelace’s birth year (Cardano’s coin type), the next index is the account, then the role (0 = external receive, 1 = internal change, 2 = stake), then the address index. Every receive address you ever see comes from incrementing that last number.

A Cardano address has two parts

Payment credential and stake credential. The payment part decides who can spend a UTxO sitting at the address; the stake part decides who earns the staking rewards from that UTxO. They are concatenated into a single bech32 string starting with addr1....

This split is why your wallet can rotate through hundreds of payment addresses for privacy while still pointing at the same single stake key. All of those addresses contribute to one delegation and one reward stream. It also means transferring funds to a new payment address doesn’t change which pool you delegate to.

Key-locked vs script-locked. The payment credential can be either a public-key hash (you need to sign with the matching private key) or a script hash (a validator runs and decides whether the spend is allowed). Key-locked UTxOs are what regular wallets hold. Script-locked UTxOs are how smart contracts hold funds. We will dig into validators in the Extended UTxO chapter.

Why your wallet keeps giving you new addresses

Every time you click “Receive” in Lace or Eternl, you get a fresh address. The previous one still works — older UTxOs sitting there are perfectly spendable. The point of rotation is chain analysis resistance: if you reuse the same address for every payment, anyone watching the chain trivially links all of your activity. Different addresses force analysts to do guess-work clustering.

Address rotation is a convention enforced by the wallet, not a property of the UTxO model itself. Bitcoin had the same option from day one and most early wallets ignored it — which is why early Bitcoin privacy was so poor. Modern Cardano wallets rotate aggressively by default.

Connect a wallet and see your UTxOs

Connect Lace, Eternl, Nami or another Cardano wallet to see the actual UTxO set the wallet built from your seed. Or use the simulated wallet if you don’t have one installed.

Mastery Check

Three quick questions

Optional. Score 3/3 to earn mastery badges. Your first attempt counts for the Polymath badge.