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 seed phrase, typically 15 or 24 BIP-39 words depending on the wallet, 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 chain, 1 = internal change chain, 2 = single staking key at .../2/0), then the address index. Every receive address you ever see comes from incrementing that last number on roles 0 or 1; the staking key under role 2 is a single key per account, not an indexed chain.
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... for a typical mainnet base address. Other variants exist: addr_test1... on testnets, stake1... for reward addresses, and enterprise addresses without a stake part.
This split is why your wallet can hand out hundreds of payment addresses 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. The flip side: the shared stake part is visible in every one of those addresses, so anyone can see they belong together.
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.
Every time you ask a multi-address wallet like Eternl or Typhon for a new receive address, you get a fresh one. The previous one still works, older UTxOs sitting there are perfectly spendable. On Bitcoin, where an address has no stake part, rotation is a real chain analysis defense: reusing one address links all of your activity, while different addresses force analysts into guess-work clustering.
On Cardano, rotation alone does not hide much. A typical base address carries your stake credential, and a multi-address wallet puts the same stake key into every address it derives. Anyone can read that shared stake part and group all of those addresses into one wallet, no guessing required. Rotation still keeps payment credentials apart and avoids reusing a single address, but real unlinkability needs addresses that don’t share a stake credential, for example enterprise addresses without a stake part (which give up staking) or separate accounts.
Address rotation is a convention enforced by the wallet, not a property of the UTxO model itself. Even Bitcoin’s original client rotated change addresses automatically. On Cardano, Eternl, Typhon, Yoroi and Daedalus derive multiple addresses. Lace creates new wallets in single-address mode by default, and since version 1.3 it can also use multi-address wallets restored from a seed.
Connect Lace, Eternl, Typhon 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.
Optional. Score 3/3 to earn mastery badges. Your first attempt counts for the Polymath badge. Questions and answer order are randomised on every attempt.