9

If I pay someone, and they then claim that the payment has not been received, how can I prove that the payment was in fact sent?

user141
  • 3,337
  • 14
  • 34
Alexde
  • 1,498
  • 1
  • 10
  • 18

2 Answers2

10

When you send a transaction, a one time random keypair is generated. You can later see it with get_tx_key txid, replacing txid with the transaction id for the transaction in question.

You can then send an auditor/arbitrator three pieces of data: the standard address you sent to, the transaction id, and the tx key for that transaction. The auditor can then use check_tx_key txid txkey address, replacing the three arguments with the information you supplied. The command will return how much monero was transfered to that address in that transaction.

If your transfer was split in multiple transactions, you need to supply the txid/txkey pairs for all of those, and the auditor can sum up the results.

Note that these tx keys are stored in the cache file. If you send a transaction, then kill simplewallet without saving (or simplewallet crashes before saving), the tx keys will be lost, and you will be unable to prove transfer. So make sure you exit simplewallet cleanly, with the exit command.

Last, there is a known problem with the upgrade from 0.9.4 binaries to 0.10.0 binaries, where the wallet cache can't be loaded. If this happens to you, you can load the cache with 0.9.4 to query the tx keys. This will be fixed in 0.10.1, so keep your wallet cache if this applies to you.

user36303
  • 34,928
  • 2
  • 58
  • 123
4

To add to User36303, you can do this easily online with Luigi1111's tool: http://xmr.llcoins.net/checktx.html. Just input a recipient address, a transaction ID, and a transaction key, and the tool will plug into the API of MoneroBlock.info and prove that a specific amount was sent.

Edit: Good followup by User36303 below. Luigi's tool is fine for casual confirmations, but for significant transaction confirmations a trustless independent analysis of the blockchain is probably the best first step, using the check_tx_keycommand referenced above. Luigi's tool might be a decent second confirmation in these situations, however it entails a degradation of privacy since using it broadcasts your knowledge of the transaction to third parties.