Blog / Troubleshooting

Monero restore height explained (and why your balance looks wrong)

Most "my Monero has disappeared" reports are not theft. They are a restore height set too late, and the fix takes one rescan. Here is how the number works and how to choose it.

·7 min read
Restore heightSyncingTroubleshootingPolyseed

You restored a wallet, the seed was accepted, the address is correct — and the balance is zero, or wrong, or missing a transaction you are certain you received.

Before assuming the worst: this is almost always a restore height problem, it is not a loss of funds, and it is fixable. The number is one of the least explained settings in Monero and one of the easiest to get wrong.

What a restore height is

A restore height is simply the block number where your wallet starts scanning.

Monero has no way to look up your balance. As covered in our light wallet explainer, finding your money means examining every transaction with your view key to see whether each output belongs to you. There is no index and no shortcut — that is exactly what makes the chain private.

Checking the entire chain from the beginning would take a very long time. So wallets ask: when was this wallet created? Everything before that point cannot contain your transactions, so it can be skipped safely.

Set it well and restoring takes minutes. Set it badly and you get either a long wait or a wrong balance — and only one of those two failure modes is harmless.

The asymmetry that matters

This is the core of it, and it is the thing to remember if you remember nothing else:

BLOCK 0TODAYwallet created hereTOO EARLYScans blocks you never used — slow, but nothing is missedSAFECORRECTStarts at creation — fast and completeIDEALTOO LATESkips real transactions — balance appears wrongBROKEN
Guessing too early only costs time. Guessing too late silently hides transactions. When uncertain, always guess earlier.

Too early is safe. Your wallet scans blocks that contain nothing of yours. It wastes time and finds everything. No harm done.

Too late is broken. Your wallet never looks at the blocks holding your transactions, so those transactions do not exist as far as it is concerned. Your balance will be understated, possibly zero, and nothing warns you — the wallet has no way to know it started too late.

When in doubt, guess earlier. The cost of guessing too early is measured in minutes of scanning. The cost of guessing too late is a wallet that lies to you about your money.

Working out the right block

Monero produces a block roughly every two minutes, which gives you the arithmetic:

  • ~720 blocks per day
  • ~5,040 blocks per week
  • ~21,900 blocks per month
  • ~262,800 blocks per year

So to go back one year from the current height, subtract about 263,000. Six months is about 131,000. A month is about 22,000.

One historical wrinkle: Monero targeted one-minute blocks until early 2016, when a network upgrade around block 1,009,827 changed it to two minutes. If your wallet predates 2016, naive date arithmetic will overshoot — which, per the rule above, is the dangerous direction. For wallets that old, subtract generously or just start from a known-early height.

The reliable methods, in order of preference:

  1. Use your wallet's date picker. Most modern wallets let you enter an approximate creation date and convert it for you. Ours offers presets — this week, this month, ~3 months, ~6 months, ~1 year, ~2 years, and an "I don't know" option that plays it safe.
  2. Look up a block explorer. Any Monero explorer will tell you the height on a given date.
  3. Do the arithmetic above from the current height.
  4. Give up and use zero. Genuinely valid. It scans the whole chain and takes a long time, but it cannot miss anything. On a light wallet this is more practical than it sounds, because the server does the work.

Anchoring the date

You do not need the exact day, only something safely before your first transaction. Useful anchors:

  • The date you first bought Monero — check an exchange withdrawal history or email receipt.
  • The date you installed the wallet software.
  • The first transaction in your history, if the wallet shows any at all.
  • The date of a hardware purchase, if you set up a wallet at the same time.

Then subtract a comfortable margin. A month early costs about twenty minutes of scanning. That is a very cheap insurance policy.

Polyseed removes the problem entirely

Every guessing game above exists because the classic seed formats — the 25-word standard, the MyMonero 13-word, and BIP-39 — encode a key and nothing else. They carry no information about when the wallet was created.

Polyseed encodes the creation date inside the seed itself. A wallet restoring from a 16-word Polyseed already knows where to start and simply does the right thing, with no prompt and no guessing.

If you are creating a new wallet and your wallets support it, this alone is a strong argument for Polyseed. We compare all four formats in our seed formats guide.

Fixing a wallet that shows the wrong balance

If you suspect a bad restore height, work through this in order:

1. Confirm the address is right. This is the critical first check. If your address matches what you expect, your keys are correct and this is a scanning problem — nothing is lost. If the address is different, stop: you have a seed or derivation problem, not a restore height problem, and rescanning will not help.

2. Check that syncing has actually finished. A partially synced wallet legitimately shows a partial balance. Let it complete before drawing conclusions.

3. Lower the restore height and rescan. Set it well before your suspected creation date. In the official GUI this is rescan_bc from the CLI, or Settings → Wallet → Rescan. In light wallets it is usually a rescan or re-import option. It takes time but is completely safe.

4. If still wrong, rescan from zero. Slow, boring, and definitive. If a scan from block 0 does not find a transaction, the transaction is not associated with those keys — and the problem lies elsewhere.

Rescanning is non-destructive. It re-reads the blockchain; it does not touch your funds, your keys, or your seed. You can rescan as often as you like. Nobody has ever lost money by rescanning.

Things that are not restore height problems

To avoid sending you down the wrong path — a wrong balance is a restore height issue only if the address is correct. These look similar but are not:

  • Wrong address after restore → wrong seed format or derivation path. See seed formats.
  • Funds sent to an exchange never arrived → usually a missing payment ID or a deposit-minimum issue, not scanning.
  • Balance shows but is "locked" → normal. Monero locks outputs for 10 blocks (~20 minutes) after receipt, and change from your own spends behaves the same way.
  • Balance changed after you sent a payment → also normal, and surprising to newcomers: Monero spends whole outputs and returns change to you, so your available balance can dip until the change unlocks.

That last one causes real alarm. If you send 1 XMR from a 10 XMR output, you briefly see neither 9 nor 10 while the change is locked. Wait twenty minutes.

The short version

  • The restore height is where scanning starts. It exists because Monero cannot index balances.
  • Too early wastes time. Too late hides transactions. Always err early.
  • Roughly 720 blocks a day, 263,000 a year — but block times were one minute before 2016.
  • If your address is correct and the balance is not, rescan from a lower height. Your funds are on-chain regardless of what any wallet displays.
  • Polyseed makes the whole issue disappear for new wallets.

A wallet is a lens onto the blockchain, and the restore height is where you point it. Point it too late and you will not see your own money — but it never stopped being yours.

Open your Monero wallet in the browser

Free, open source, non-custodial. BIP-39, MyMonero 13-word, Polyseed and 25-word seeds. Nothing to install.

Open Wallet →