Practice › Using Monero

Seeds, accounts and addresses

25 words, 16 words, 13 words — and why your wallet has so many different addresses

In short

The classic seed is 25 words (it is the spend key). The new one is Polyseed, 16 words with the creation date. There's also the legacy 13-word MyMonero seed. One seed yields an endless tree of accounts and subaddresses — which is why a wallet shows so many addresses, all of them yours.

Seed formats

FormatWordsWhat it encodesWhere you see it
Classic (Electrum-style)25256 bits of spend key + 1 checksum wordMonero GUI/CLI, almost every wallet
Polyseed16150 bits of entropy + creation date + flags + checksumFeather, Cake, ANONERO, Monerujo, etc.
MyMonero (legacy)13128 bits of entropy from which keys are derived in a special wayMyMonero (shut down in 2026), some old wallets
BIP39 / hardware12/24The device seed; the Monero key is derived from it along its own pathLedger, Trezor — restorable only on the same kind of device or compatible software

Classic 25 words

The spend key b (32 bytes) is cut into 8 chunks of 4 bytes; each chunk is encoded with three words from a 1626-word list (1626³ > 2³²). The 25th word is a checksum chosen from the 24 by a hash (CRC32) of their prefixes. Word lists exist in several languages (English, Russian, Spanish, Chinese, Japanese, etc.) — the same 32 bytes written with different words. The view key is derived as Hs(b), so it needn't be stored separately.

Polyseed

Polyseed (by tevador) encodes entropy from which keys are derived via a key-stretching function (PBKDF2). Advantages:

  • 16 words from the standard BIP39 list (2048 words) — shorter and handier;
  • creation date inside — the wallet knows which block to scan from, no need to remember a "restore height";
  • passphrase support — seed + passphrase gives a different wallet (plausible deniability);
  • "coin" flags: the phrase can't be confused with another cryptocurrency's seed.

A Polyseed can't be converted to 25 words or vice versa without creating a new wallet — they're different key derivations.

Seed offset (a passphrase for 25 words)

A classic seed can take an "offset" — a passphrase mixed into the key. Without it, the same 25 words open a different (usually empty) wallet. Don't confuse it with the wallet file password, which only protects the file on disk.

Restore height

When restoring a classic wallet you're asked for a "restore height" — the block to start scanning from. Too late, and the wallet won't see old payments. Too early just means a longer sync. If unsure, give a date slightly before the wallet was created (wallets convert dates to heights).

Why so many addresses

From one key pair the wallet derives a two-level tree of subaddresses:

seed account 0 account 1 account 2 … (0,0)main 4… (0,1)8… (0,2)8… (1,0)8… (1,1)8… all one wallet, one view key
  • Account (major index) — like a separate "account" with its own balance: "personal", "business", "donations". The wallet doesn't mix coins from different accounts in one transaction (unless you ask).
  • Subaddress (minor index) — an address inside an account. A new subaddress per payer: nobody can link two of your subaddresses.
  • The main address (0,0) starts with 4, every subaddress with 8.
Why doesn't address (1,0) start with 4?

A wallet has exactly one main address — (0,0), which is just B and A with prefix 18. Any other index, including the "first" address of the second account (1,0), is a subaddress: its keys are derived via m = Hs("SubAddr\0" ‖ a ‖ 1 ‖ 0), and it's encoded with prefix 42, hence 8…. An account is just a way to group subaddresses; it has no "main" address of its own.

Address types

TypeStarts with (mainnet)LengthWhen to use
Main495Fine, but better to hand out subaddresses
Subaddress895The recommended way to receive
Integrated4106Deprecated: main address + payment ID. Some exchanges still use it
Stagenet / testnet5 7 / 9 A B95/106For testing; the coins are worthless

Each type's structure is broken down on the Address page. Decode any address with the decoder.

Don't generate a seed on websites

Even if a site promises keys are generated "only in your browser" and never sent anywhere (like the tools on this site), a browser is not a safe place for secrets: extensions with page access, malware, the clipboard and screen recording can read them. Create a seed for real money only in a trusted wallet, preferably on an offline machine or a hardware device.

What to store and how

  • Seed (+ offset/Polyseed passphrase if any) — on paper or metal, in two places. Never in the cloud, a messenger or a photo.
  • Restore height / date — next to the seed (not needed for Polyseed).
  • Wallet file — a convenience, not a backup. Without the seed, losing it means nothing; with a weak password, its theft means stolen money.