Failed Trades - Reimbursement of Trade Fees and Miner Fees

From Bisq Wiki
Revision as of 13:40, 21 January 2023 by Pazza (talk | contribs) (→‎Miner Fees)
Jump to navigation Jump to search

Sometimes trades of Bisq fail on Bisq for a number of reasons related to bugs.

A failed trade is defined as a problem with the deposit transaction ID. Either no deposit transaction ID exists, OR a deposit transaction ID does exist but it is not present on the blockchain (as can be verified on a blockchain explorer).

Usually failed trades will also have am issue with the maker transaction ID OR the taker transaction ID. If there is an issue with the maker transaction ID it usually means the maker for the trade was trading with an out-of-sync bitcoin wallet. If there is an issue with the taker transaction ID it usually means the taker for the trade was trading with an out-of-sync bitcoin wallet.

  • Sometimes a trade will fail resulting in lost miner fees and trade fees for the BTC buyer and/or seller (in this case reimbursement can be considered if the lost fees are significant enough to warrant making a reimbursement request, eg above $10 of value.)
  • Sometimes a trade will fail resulting in no lost miner fees and trade fees for the BTC buyer and/or seller (in this case reimbursement is not required as no miner or trade fees have been lost)
  • Failed trades on Bisq only ever risk lost miner fees and trade fees. In a failed trade the deposit transaction does not take place, therefore, the BTC deposit amount and trade amounts never leave a users wallet

Common reasons for trades to fail

The most common reason for a trade to fail is either the maker or taker is trading with an out-of-sync bitcoin wallet.

When the maker is trading with an out-of-sync Bisq wallet they will often be able to 'make' a trade of their choosing. Normally one of two things happen:

  1. 1. When the maker is trading with an out-of-sync Bisq wallet most often the trade will end up not being displayed on the Bisq Markets for someone to take as the software checks to make sure an offer is valid before propagating it to the peer to peer network. When a trade fails in this way the maker will not have lost any trade fees or miner fees as there was never any maker transaction ID. In this instance the fix is for the maker of the trade to do an SPV resync. Once this is completed they can delete the trade they made by goin to Portfolio > Open Offers and pressing the delete icon next to the trade.
  2. 2. Sometimes an invalid maker offer can be shown in a users Bisq instance. If this happens when the taker takes the offer they will lose both mining and trade fees as they will incur costs for the taker transaction ID even though a deposit transaction will not be created. In this case reimbursement can be considered by the taker if the lost fees are significant enough to warrant making a reimbursement request, eg above $10 of value.). In this instance the fix is for the maker of the trade to do an SPV resync.

When the taker is trading with an out-of-sync Bisq wallet they will often be able to 'take' a trade of their choosing. Normally one of two things happen:

  1. 1. The trade remains in the offer book, the taker transaction and the deposit transaction fails, the trade can be seen on both the buyer's and seller's Bisq instance. The deposit transaction confirmation will show as N/A. This is because the deposit transaction could not be created because the taker transaction failed. In this instance neither the maker or taker will have lost any trade or miner fees. The offer will still be able to be taken in the offer book, and the taker transaction did not confirm so no fees were spent from the takers wallet. In this instance the fix is for the taker of the trade to do an SPV resync.
  2. 2. The trade is removed from the offer book, the taker transaction and the deposit transaction fails, the trade can be seen on both the buyer's and seller's Bisq instance. The deposit transaction confirmation will show as being present but a check on a blockchain explorer will show it as an invalid transaction. This is because the deposit transaction could not be created because the taker transaction failed. In this instance the maker will have lost trade and miner fees, but the taker will not have lost any fees. In this case reimbursement can be considered by the maker if the lost fees are significant enough to warrant making a reimbursement request, eg above $10 of value.). In this instance the fix is for the taker of the trade to do an SPV resync.

Less common reasons for trades to fail

Less common reasons for trades to fail are:

  • Bugs in the software
  • Tor network issues
  • A user trading with an out of space hard drive, corrupted wallet, poor connection to the Bisq network

In these cases the maker and taker can check their respective transaction IDs.

  • If the maker or taker ID failed then the respective user will not have lost any miner or trade fees.
  • If the maker transition ID was successful on the blockchain then the maker will not have lost any trade or miner fees IF the deposit transaction shows as N/A
  • If the maker transition ID was successful on the blockchain then the maker will have lost trade and mine fees IF the deposit transaction shows as being present but is invalid when checked on the blockchain.
  • If the taker transition ID was successful on the blockchain then the taker will have lost trade and miner fees if the trade failed.

In instances like the above ideally the trade would end up in mediation and the mediator will request your logs to understand what the issue was that caused the trade to fail and make recommendations for what, if anything, you need to do to avoid future instances of failed trades.

Eligible for reimbursement

Any user that has lost trade and miner fees is eligible for reimbursement.

When to consider reimbursement

It is important to remember no trade or deposit funds are lost with failed trades. Most of the time if you see your Bisq wallet is missing funds from a failed trade it means your wallet it out-of-sync, which is why the trade failed! Do an SPV resync to fix the issue and your wallet will show the correct balance.

Reimbursement of a filed trade requires some work to do in gathering the information and posting it online, it also have some privacy implications as you are having to post maker, taker, and deposit transaction IDs. As a result of this it is often not making reimbursement requests for MOST failed trades as miner and trade fees are usually small (less than a few dollars, local currency equivalent, of value). Therefore, it is recommended traders ONLY request reimbursement for trades where they feel their trade fee and miner fee losses are significant enough to warrant the time to do so. Most of the time this will be for takers with lost trade fees where the trade that failed was a large amount of BTC. For example the maximum trade fee loss on a 2 BTC trade would be 0.0088 BTC. This would be worth requesting reimbursement for.

What do do before requesting reimbursement

Before requesting reimbursement you should make sure you are eligible for reimbursement ie you have lost both trade fees and miner fees.

Miner Fees

Please also make sure you know how much miner fees you lost for a trade. This can be checked on blockchain explorer.

This shows where you can find your miner fees on a blockchain explorer such as mempool.space

Trade Fees

Please also make sure you know how much trade fees you lost for a trade. This will be a percentage of the trade amount and differs depending on whether you were the maker or taker or chose BTC or BSQ to pay the trade fees.

  • BTC trade fees are 0.12% of the trade amount for the maker and 0.88% of the trade amount for the taker.
  • BSQ trade fees are 0.06% of the trade amount for the maker and 0.44% of the trade amount for the taker.

You can check the latest trading fees here.