How to prove payments, enable audits, and monitor your wallet — without exposing your private spend key.
Your Monero view key lets others see incoming payments only without spending risk. Use it for tax audits, payment verification, or monitoring. For targeted disclosure, use per-transaction proofs (tx_key) instead of sharing the full view key. The view key does NOT show outgoing transactions or true balance.
Every Monero wallet has four keys, derived from a single 25-word seed phrase:
The master secret. Authorizes spending. Never share this. Anyone with it can drain your wallet. Derived from your seed phrase.
Scans the blockchain for incoming payments. Sharing it reveals your deposits but cannot spend funds. Derived from spend key.
Part of your Monero address. Used by senders to create stealth addresses. Public and safe to share.
Part of your Monero address. Used with stealth addresses. Public and safe to share.
| Capability | View Key | Spend Key |
|---|---|---|
| See incoming payments | Yes | Yes |
| See outgoing payments | No | Yes |
| See true balance | No (shows cumulative in) | Yes |
| Spend funds | No | Yes |
| Create transactions | No | Yes |
| Generate subaddresses | Yes | Yes |
| Verify specific payment | Yes (all incoming) | Yes |
In Germany, crypto held over 1 year is tax-free (§23 EStG). If a tax authority asks for proof, sharing your view key lets them see deposits without giving spending access. Combined with get_tx_key proofs for outgoing payments, you can provide a complete audit trail.
See our Monero Tax Guide for details on German/EU tax obligations.
In P2P trading, you may need to prove you sent a payment. Instead of sharing your view key (which reveals ALL transactions), use a per-transaction proof:
This proves a specific payment without revealing anything else. The counterparty sees: "Yes, this transaction sent X.XX XMR to this address."
Keep your spend key in cold storage (hardware wallet, air-gapped laptop). Create a view-only wallet on a connected device to monitor incoming payments. You see deposits in real-time without your spend key ever touching the internet.
If you accept Monero payments, a view-only wallet on your server confirms incoming payments automatically. Your hot wallet only needs the view key — the spend key stays offline until you want to move funds.
Wallet → View-Only → Save. Creates a copy that can only view, not spend.
Create new wallet → Restore from keys → Enter your address + view key. Leave the spend key field blank.
Enter your address, view key, and restore height when prompted.
For most disclosure scenarios, per-transaction proofs are better than sharing the full view key. They reveal only what you choose:
| Proof Type | Reveals | Command |
|---|---|---|
| tx_key | Single outgoing payment | get_tx_key <txid> |
| tx_proof | Payment to specific address | get_tx_proof <txid> <addr> |
| spend_proof | Authorship of a TX | get_spend_proof <txid> |
| reserve_proof | Balance at a point in time | get_reserve_proof all |
tx_key immediately after sending. If a dispute arises, the tx_key is your mathematical proof of payment — unforgeable and independently verifiable.
View-only wallets can't detect outgoing transactions. To fix this:
export_key_images keys.binkeys.bin to your view-only wallet deviceimport_key_images keys.binAfter importing key images, the view-only wallet shows the correct balance (including outgoing). You need to repeat this after each spending transaction.