Your history
Murk's History screen labels each row for you — Veiled, Sent, Received, Swapped, Revealed — and hides your own change notes so the list reads like a statement rather than a dump of UTXOs.
It is rebuilt from the chain, not from your browser
Those labels used to live only in your browser's storage, which meant a new device or a cleared cache turned everything into a generic "Received". That is no longer the case.
Your spend key plus the chain is enough to reconstruct all of it:
- Which notes are yours — trial-decrypt the on-chain ciphertexts with your viewing key.
- Which of them you spent — derive each note's nullifier locally and match it against the public spent set.
- What kind of action each spend was — the indexer's public spend feed names the on-chain instruction that burned each nullifier, and the instruction is the action (a withdrawal is a reveal, a swap is a swap, a combine is internal and gets hidden).
- Which notes are your own change — output note blinding is derived deterministically from your spend key, so your own outputs can be recomputed and filtered out.
- Your payment receipts — the one-time key behind each payment proof is likewise derived deterministically, so past proofs can be regenerated on any device.
Rebuild history
In private mode, the History screen has a Rebuild history button. Press it after switching devices or clearing your cache. Murk also rebuilds automatically, once per session, when it finds no usable local cache.
Local storage is now purely a cache — a fast path, never the source of truth.
The one thing that doesn't come back
Memos. The free-text note you can attach to a payment proof is stored locally only and is not recoverable on another device. Everything else — amount, token, recipient, date, the proof itself — is.
Rebuilt rows are also slightly leaner than freshly-logged ones: they carry no destination or fee, because those weren't published on-chain in a recoverable form.