How to prove a Monero transaction

How to Prove a Monero Transaction

Monero (XMR) is built for privacy. Transactions on the Monero blockchain are confidential by default — sender, recipient, and amount are all hidden from outside observers. But sometimes you need to prove that you sent a payment: a support dispute, a purchase confirmation, or a legal requirement. This guide explains how.

Why Proving XMR Transactions Is Harder Than BTC

With Bitcoin, anyone can verify a transaction on a public explorer by looking up the TXID. The sender address, recipient address, and amount are all visible. Monero works differently:

  • Stealth addresses: The recipient's real address is never recorded on-chain — a one-time address is used per transaction
  • Ring signatures: The transaction appears to come from one of several possible senders
  • Confidential amounts: The amount is cryptographically hidden using RingCT

Despite this, Monero provides built-in cryptographic tools to prove a transaction while revealing only the minimum necessary information.

Method 1: OutProof (Recommended for Most Cases)

An OutProof proves that a specific transaction ID sent a specific amount to a specific address. This is the tool most useful when resolving a support dispute with an exchange — it proves you sent XMR to their deposit address.

Using Monero GUI Wallet

  1. Open your Monero GUI wallet and go to the Prove/Check tab (in the left sidebar)
  2. Click Prove Transaction
  3. Enter the Transaction ID (TXID) of your outgoing transaction (found in your wallet's history)
  4. Enter the recipient's address (the address you sent to)
  5. Optionally add a message (e.g., the order number)
  6. Click Generate — you receive a proof string

Send this proof string to the recipient or support team. They can verify it using the Prove/Check tab on their end (or any Monero wallet).

Using monero-wallet-cli

In the CLI wallet, run:

get_tx_proof <TXID> <recipient_address> [message]

The command returns a proof string starting with OutProofV2...

Method 2: SpendProof

A SpendProof proves that your wallet created (signed) a specific transaction — without revealing who the recipient was or how much was sent. Useful when you need to prove you were the sender but cannot disclose the amount.

Using monero-wallet-cli

get_spend_proof <TXID> [message]

Returns a proof string starting with SpendProofV1...

Using Monero GUI

  1. Go to Prove/Check → Prove Transaction
  2. Enter the TXID
  3. Leave the address field empty — GUI will generate a SpendProof

How to Verify a Proof

To verify a proof that someone has given you:

  1. In the GUI, go to Prove/Check → Check Transaction
  2. Enter the TXID, the address the funds were sent to, and paste the proof string
  3. Click Check

A valid OutProof will display: "Transaction X sent Y XMR to address Z." A valid SpendProof will display confirmation that the transaction was signed by the prover's wallet.

Verification can also be done via CLI:

check_tx_proof <TXID> <address> <proof_string>

What to Do If Your XMR Didn't Arrive at FixedFloat

If you sent XMR to a FixedFloat order and it was not credited, provide our support team with:

  • Your order ID
  • Your Monero transaction ID (TXID)
  • An OutProof generated for the FixedFloat deposit address and your TXID

This allows us to verify the payment cryptographically without compromising your wallet privacy.

Key Takeaways

  • OutProof: Proves you sent a specific amount to a specific address — best for support disputes
  • SpendProof: Proves you signed a transaction without revealing recipient or amount
  • Both proofs are built into Monero — no third-party tools needed
  • Verification requires only the TXID, the proof string, and optionally the recipient address
Exchange Monero (XMR) to BTC, ETH and 400+ pairs — no KYC, no account.
Exchange XMR on FixedFloat