How to Prove a Monero Payment (Command Line Wallet)
Introduction
Monero is designed so that transactions are private by default. This means amounts, sender addresses, and recipient addresses are not publicly visible on the blockchain. While this protects users, it also raises a common question: how can someone prove that a Monero payment was made?
This guide explains exactly what can and cannot be proven using the command-line Monero wallet, and walks through the currently supported methods step by step. All examples assume a self-custody wallet and do not rely on third-party services.
What “proving a payment” means in Monero
In Monero, a payment proof does not reveal your wallet balance or full transaction history. Instead, it allows a specific verifier to confirm that a transaction matching certain parameters exists and was created by the sender.
Monero supports sender-generated transaction proofs that can be verified by a third party without revealing unnecessary information. This is made possible through cryptographic signatures tied to the transaction’s private data.
What can be proven
- A specific transaction was created by the sender.
- The transaction paid a given address.
- The amount associated with that address.
What cannot be proven
- Your total wallet balance.
- Other incoming or outgoing transactions.
- The recipient’s identity beyond the provided address.
These limitations are intentional and align with the privacy guarantees of Monero.
Methods available today
Sender-generated transaction proof (recommended)
This is the standard and safest method. The sender generates a proof using their wallet, which can then be shared with a verifier. The verifier does not need access to the sender’s wallet or keys.
Recipient-assisted verification
A recipient can independently verify that they received a payment by checking their own wallet. This is not a third-party proof and requires trust in the recipient’s statement.
Graphical interfaces such as the Monero GUI Wallet also support transaction proofs, but this article intentionally focuses on the command-line workflow.
How to generate a transaction proof (CLI)
This procedure shows how a sender generates a cryptographic proof that a specific Monero payment was made to a specific address.
Prerequisites
- A fully synced Monero wallet using
monero-wallet-cli - The transaction ID (TXID)
- The recipient’s public address
Linux (Debian / Ubuntu)
- Open a terminal.
- Navigate to your Monero wallet directory.
- Start the wallet CLI.
- Unlock your wallet when prompted.
- Use the transaction proof command.
- Copy the generated proof string.
- Send the proof and TXID to the verifier.
Windows
- Open Command Prompt or PowerShell.
- Navigate to the folder containing
monero-wallet-cli.exe. - Launch the wallet.
- Enter your wallet password.
- Generate the proof.
- Save the output proof securely.
- Share it with the intended verifier.
What to expect
The wallet will output a long base58-encoded string. This is the transaction proof. Anyone with the TXID, recipient address, and proof can verify it.
Common problems
- Wrong address: Proof verification will fail if the address does not match exactly.
- Incorrect TXID: Even a single character error invalidates the proof.
- Unsynced wallet: The wallet must be synced to generate valid proofs.
Safety notes
- Only share transaction proofs with parties who need them.
- A proof reveals the amount sent to that address.
- Never share your private keys or seed phrase.
Next step: Ask the verifier to check the proof using their own wallet.
How to verify a transaction proof
Verification can be done by any party using a Monero wallet, without access to the sender’s funds.
If valid, the wallet will confirm that the transaction paid the specified address and amount.
Frequently asked questions
Can Monero payments be proven to anyone?
Yes, but only in a limited and controlled way. Monero allows the sender to
generate a cryptographic proof that a specific transaction paid a specific
address. This exists to balance accountability with privacy.
Practical implication: if you anticipate needing proof, keep the TXID and
recipient address.
Common misunderstanding: many users believe Monero cannot prove payments at
all, which is incorrect.
Does a transaction proof reveal my entire wallet history?
No. A transaction proof is scoped to one transaction and one recipient
address. It does not expose other outputs, balances, or addresses.
Practical implication: you can safely provide a proof without compromising
unrelated activity.
Common misunderstanding: proofs are often confused with view keys, which are
far more revealing.
Is a screenshot of the wallet enough as proof?
No. Screenshots are not cryptographically verifiable and can be fabricated.
Monero proofs exist specifically to avoid reliance on trust or screenshots.
Practical implication: always use cryptographic proofs for disputes or audits.
Common misunderstanding: visual evidence is often assumed to be sufficient,
but it provides no cryptographic assurance.

monero.how