CT-007: Monero view-only wallets
This is the 7th report in the Cypherpunk Transmission series.
Motivation
Although private by default, Monero can be optionally transparent via its private viewkey system.
The best way to learn about that is by actually setting up a view-only XMR wallet.
In this guide we are going to peek inside the Monero General Fund donation address.
Assumptions
1. Get address and private view key
The GF base XMR address3 and the associated view key4 have always been public5, but if you want to test this with your own address instead, open your wallet and type in address
and viewkey
.
2. Create Monero view-only wallet
In a terminal:
monero-wallet-cli --generate-from-view-key general-fund
Note: replace ‘general-fund’ with the name you want for your wallet file; if connecting to a remote node, include the necessary flag --daemon-address <host:port>
.
Paste in the address when prompted for Standard address:
44AFFq5kSiGBoZ4NMDwYtN18obc8AemS33DBLWs3H7otXft3XjrpDtQGv7SqSsaBYBb98uNbr2VBBEt7f2wfn3RVGQBEP3A
And then the view key when prompted for View key:
f359631075708155cc3d92a32b75a7d02a5dcf27756707b47a2b31b21c389501
After entering and confirming a password for the wallet, you should be asked to provide an optional restore height or date (format: YYYY-MM-DD). Press Enter
if you want to get the full history.
You can start exploring after it fully syncs. Read the Cheat Sheet: Monero CLI Wallet6 guide to get familiar with the most common commands.
Observations
- by sharing a viewkey, you are allowing access to view every incoming transaction for that address
- the balance can be inaccurate, as outgoing transactions cannot be reliably viewed as of June 2017 (you need to import the accompanying key images7 of each output of the wallet to get the correct balance and view spent transactions8; this behavior might change with Seraphis9)
- note that without the private spend key, view-only wallets cannot spend a balance
That’s it. You can now set up a Monero view-only wallet. Use it to validate incoming transactions to cold/hardware wallets, monitor incoming donations, and validate payments.
Feedback
Let me know if you find this helpful and, depending on interest, I will do my best to post a new Cypherpunk Transmission report every (other?) Monday.
Questions, edits and suggestions are always appreciated @ /about/.
-3RA
Credit goes to gnuteardrops from monero.graphics for the amazing xkcd graphic. Work and xkcd Script font licensed under CC BY-NC 3.0.
-
/cypherpunk-transmission-002-building-from-source-monero-cli/ ↩
-
(GF base XMR address) 44AFFq5kSiGBoZ4NMDwYtN18obc8AemS33DBLWs3H7otXft3XjrpDtQGv7SqSsaBYBb98uNbr2VBBEt7f2wfn3RVGQBEP3A ↩
-
(GF viewkey) f359631075708155cc3d92a32b75a7d02a5dcf27756707b47a2b31b21c389501 ↩
-
https://github.com/monero-project/monero#supporting-the-project ↩
-
https://www.getmonero.org/2021/06/24/general-fund-2020-2021-report.html, https://downloads.getmonero.org/GF_wallet_key_images_until_20210616 ↩
-
https://monero.stackexchange.com/questions/7217 ↩
-
https://www.getmonero.org/2021/12/22/what-is-seraphis.html, https://github.com/monero-project/research-lab/issues/92 ↩