Hi - I’ve encountered an issue with a disputed XMR/BTC trade which I think warrants attention. Fortunately the value of the trade is very low (less than $100) so I’m not losing a lot. However, any loss is a bit annoying, and I also feel that the Bisq devs need to be made aware of this bug & perhaps issue some guidance.
The Trade ID is jGeKnkyc-0e3dbbde-d0ee-4c1d-bd1b-cc1a6da37139-1922 I was the seller of 0.139XMR and the buyer of 0.001BTC.
I sent the XMR funds as I have done many times before, but the recipient claimed he didn’t receive them. We opened a mediation window and I provided the valid XMR TX ID ( 0766399defae525348eb653498e30cca8c075ed331ba1de90ff4d02f7f7b6ff3 ) plus screenshots of the Monero GUI showing that I had sent the funds to the recipient. The trading partner never provided any screenshots, but simply maintained that he did not receive the funds.
The mediator asked me for the XMR TX Proof string and that’s where things got problematic. I provided the string that was presented to me in the GUI, but it failed verification via the xmrchain explorer. After Googling for help I then established that this was because the Monero GUI does not provide valid TX Proof strings when you execute transactions via your ledger (which I have always done for added security). In other words, it’s not physically possible for an XMR sender to provide the requisite proof data to a Bisq mediator if that sender was using a ledger: the valid TX Proof string never leaves his ledger. (A string is provided by the GUI but it’s gobbledegook, and the ‘P’ button in the GUI remaining greyed out - as shown in the screenshots I provided). Crucially, this is a known technical limitation when using Monero with a ledger that’s been noted elsewhere, see: https://www.reddit.com/r/monerosupport/comments/1em8r3d/sent_xmr_but_cannot_create_prove/
& Can't prove payment was made - Payment proof check bad signature · Issue #1935 · monero-project/monero-gui · GitHub
I explained all this to the mediator but he didn’t seem to accept what I was saying. So while I’m not very technical I turned to AI and eventually managed to provide a valid SpendProof generated from a restored wallet, which amounts to further (albeit incomplete?) cryptographic proof that I did indeed initiate/spend this transaction. The SpendProof is pasted at the end of my post. I generated the SpendProof by 1) using Ledger’s official conversion tool to derive the Monero 25-word seed from my Ledger 24-word seed as per
app-monero/tools/python at master · LedgerHQ/app-monero · GitHub then 2) restoring the wallet as a standard (non-hardware) Monero software wallet, verifying that it contained all the same relevant transaction details (same txid, timestamp, fee & block height), and clicking on the P button - which was no longer greyed out - to generate a valid SpendProof (but not a TX Proof) for the transaction. (I did also follow AI instructions to attempt to extract the TX Proof via CLI, but this failed.)
So to summarise: there was a dispute involving an XMR/BTC trade and I was unable to provide the TX Proof due to a known technical issue with Ledger-linked Monero wallets. However, with a fair bit of effort I was still able to provide:
- the confirmed TX ID (with matching block height/timestamp)
- screenshots showing the transaction in both wallet states (Ledger session + restored seed session)
- a valid SpendProof generated from the restored wallet, which cryptographically proves that I initiated/spent the relevant transaction
Despite doing all this, the mediator found in the other party’s favour, giving the explanation: “buyer unable to provide tx key and tx id to verify that the payment was made correctly”. He also penalised me with 25% compensation.
I obviously don’t agree with this outcome, hence escalating to arbitration (and I will share this discussion thread with the arbitrator). First, I did provide a valid TX ID, which is verifiable on the xmrchain explorer. Second, while I didn’t provide TX Proof this was due to a known technical issue beyond my control, not any malpractice or incompetence on my part. Third, I provided added evidence in the form of screenshots and a SpendProof, whereas the trading partner failed even to provide screenshots.
So that’s what happened. Fortunately the sums involved are low and I will of course avoid using my ledger for Bisq XMR trades in future. However, rather than just walking away I’m hoping to achieve the following by posting this thread:
-
Fairness: I’d like opinions from the community on whether the mediator’s findings were fair in this case, especially with regard to the penalty (which implies wrongdoing on my part).
-
Bisq GUI / process upgrade: I believe Bisq should give an alert / disclaimer to users trading with XMR, warning them that there is a known problem with ledger-linked Monero wallets, and that users will not be able to provide valid TX Proofs if they use a ledger (or other hardware device?). This will stop other people getting stuck in my situation with potentially much larger sums. Alternatively, the devs may be of the opinion that SpendProof alone consitutes sufficient proof for mediation?
Thanks for reading ![]()
SpendProofV1g4bP5XQCKqWD9RWLGg1D67ifARtRHTAy2GPWNC6C4za1Rkj1zbKsxDyjQZNv1cWishK3Kk2rvyS5SCzB1fQckYT32k5SGGjnzDhB6YWHg3a8PM3EGyPhmNnGt5Tcy3GGK22E7nAG3jBMK9rayUfGkeL8CK8MabQr5dgCAdWgX49xZTn5YDuw7zp3HKBj1qnqyJsugaTGYurPvLot7h9Fidd6MfKtgsH3ej9jkHQ3V3YYU5qfVgRh32DE6iahHNS4iW59xU54AtXLQx6yVFZLED7HycSqH6hD66cDHnZt6dNxUoBWgbADWqnhqsry3Fgg7jAh9NYowgcvTJy1ZK1ZoNecrMcS9xEkcZAdtTwpF2VjE9mdM11ivT2msyGrUZjczN5RcES7GYW1ShaPkZQzFk13QeqjDSz9PuGHt8HRz8kBCP5GLyNyTXtHUBxBriNpqXriMk4TuWxyi1WhjfEASJw6FLczb1VLcaAuTFh9SQGVYR2AMFNwPh7GP3HHNEQ8QGCpX8xS5MnguxWAN5VPmnTzvdKUqF9NRur38DNjWvkoqva4AXL3a4jRptLvjLqCn8FPMdKcM3WbqS3xsdPZA5ajGonn92MA2jsSGjukdDKH7hFqLxoKkmSiQU3PwrhUiBuP2Xfph3cfMChZJ6Nh4Rq1FVXx9ewM3WVU8sdkcZWq3GvFxNE6haXqUkzGqz8WNTtb8waznmyUC3thqm7gWEFwPHSr4tH1wQHB5xHdGMDaDDp48JK8d114idRDHM3yoqcKZTGsM9erW2y3J2h79donJD6wQ98tnNCe75uohEEfrLdj8TC5tR8AP3C8Qi5PJwEx1cb5JFcN6GkPdEPDuWy6swfHFSStWQEvRHDZv3EKsqYoMAxfg6mERH8UqMrwFu6G2gNeUG2SP3oeTERy7wNGrB2uPj5MZaPUKzbgpREsZemcHLawaiCwu4Co3SpwwGhyL5Q9eKV5xLA5zVQNVjVodAj5YvPPQ6k21UVS1hzQjeWCmDVQBCK6c4G1jnWC8zPn57BPVLJrkRv4xFPbyTd8tGK8SoyCFuoUQunZ3TG4EUE6bpL8bT9Dd3baq1dwb5oUomz37FQmUgPUuw9WhMSQZsVbigHXZSVougv5tUvQqDK7koQ6iZ7L5usogPj4vZWC9mLWT359cRRe9etwExpey1atRGdGCiiLHu6K8H7Xjg6h9SY53gWkARHowCsfKMdaBHRV4sA2VP4v8pbk4LNE4TZVdzbHfYzcUo6gC2dVzimo37PR9wsxcyeV9NS2MDP4qEL3X9ApgMXAKm85i5BBaakC8euePLuycgLD8Mip7vqnskb7NyfdvmJRpaP7Xd4CzJkE82jj1oLVvy8ocfeLqwHU8C1HPuXq2ew83Aeh5BGh9UJbaTkgmm28CCaz