This question already has an answer here:

I have made a cold wallet storage following debruyne's guide: https://www.reddit.com/r/Monero/comments/48cgmd/an_extensive_guide_for_securely_generating_an/

I would like to know what is the procedure to be able to view the balance of my cold wallet storage as it is scary to not know if the funds in the cold wallet storage have been compromised. I want to keep the wallet cold while verifying the balance.

I heard there was a guide that was planned on being made about this but an ETA would be awesome.

marked as duplicate by user36303, janowitz, 254123179 Oct 18 '16 at 18:09

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 1
    Wouldn't you have to make the funds hot again by having to restore wallet and then exporting the key images? – user202 Oct 18 '16 at 16:24
  • 1
    You can do all that offline if you have a copy of the blockchain. Or simply use the .raw file provided on getmonero.org and import it. Note that bitmonerod has an offline mode which can be utilized to export key images offline. – dEBRUYNE Oct 18 '16 at 19:34
  • Alright, I'll try this out when I have time but it does seem a bit complicated for me. Thank you all for your answers. – user202 Oct 18 '16 at 20:09
  • I think it's faster to just copy over the db itself. Importing from .raw takes a while. I did it one time with .raw, though, just because I was behind some firewall so couldn't sync the "normal" way and I wanted to refresh my wallet. – JollyMort Oct 18 '16 at 23:02
up vote 2 down vote accepted

If you want to view the balance of a cold storage wallet, you need to create a view-only wallet. The answer from @ferretinjapan is correct, in that respect, though there is more to it.

For more clarity:

If you want to track the balance of a cold storage wallet to which you make occasional deposits, then you need to create a view-only wallet (the same one as already mentioned, of course).

If you want to confirm that payments haven't been made out of a cold storage wallet, then you need to restore the whole wallet. Your private view key lets your wallet reflect all deposits to the account. Key images allow your wallet to reflect which of those deposits have been spent. Key images can only be created using your private spend key. Since you need your private spend key to be part of the wallet, you'd need to restore the wallet from seed or from keys in order to view the full balance.

For example:

You create a wallet and deposit 500 XMR in it. You spend 100 XMR over a few transactions, and then you decide you want the rest (400 XMR) to be in cold storage. First, you'll export_key_images and back that file up on a USB. But wait... you decide to send 50 XMR to an exchange real quick (bringing you down to 350 XMR); but you've already exported the key images, and you forget to do it again. You then format the hard drive, so that wallet no longer exists in electronic form. Cold storage, check. And now you want to create your view only wallet.

When you create your wallet from view key, and then you import your key images, you should see a balance of 400 XMR, because that wallet doesn't know that the 50 XMR was sent to the exchange. If you send that 50 XMR from the exchange back to the wallet address, the view only wallet will think you have 450 XMR, still not knowing that the 50 XMR was spent in the first place.

In order to view an accurate balance in a view-only wallet, you'd have to fully restore the wallet, and then export_key_images again, and then create the view only wallet again.

(Actually, I need confirmation about whether that 50 XMR key image is gone forever, or whether it is recreated by the private spend key upon fully restoring the wallet.)

  • Then that means that it is not possible to watch the balance of a cold wallet and leaving it cold if I understand correclty? Thanks. – user202 Oct 18 '16 at 19:31
  • As mentioned in a comment by @dEBRUYNE, you can always sync a regular (not view-only) wallet on a permanently offline computer to a recently downloaded copy of the blockchain. I suppose this air gap is another form of cold storage. – scoobybejesus Oct 18 '16 at 20:27
  • One more note: offline transaction signing by an air-gapped computer is possible. The PR was merged to master in early October 2016. See reddit post – scoobybejesus Oct 18 '16 at 22:54
  • This made me understand the process with cold storage is cumbersome. You can do it, but you need to copy the blockchain db from an online computer to an offline computer and refresh the offline wallet there. I made a proposal to make it easier, and we can hope someone will take the job :) – JollyMort Oct 18 '16 at 22:59
  • that means that it is not possible to watch the balance of a cold wallet and leaving it cold it is possible, but the initial set-up is cumbersome. Once you're set, you can keep watching and knowing it's correct it until you send some new monero there. Then, you need to repeat the cumbersome process. – JollyMort Oct 18 '16 at 23:06

This can already be done. You'll need the keyimages of the wallet in order to see the correct current balance of your wallet, this can be dome using the command,

export_key_images

within the monero-wallet-cli interface, it will then save them to file, and then you can import that file into your watch only wallet using the command

import_key_images

to update your view-only wallet.

Not the answer you're looking for? Browse other questions tagged or ask your own question.