Anatomy of a Bisq Trade

I’m trying to understand the on chain details of a Bisq trade. I found this description of the Bisq Wallet: https://bisq.wiki/Wallet.

It refers to an “anatomy of a bisq trade” article, but the page no longer exists. Does anyone have a good resource for learning the details?

Also, when funding a trade, Bisq states using an external wallet may be more private. Can someone explain why that is?

Thanks!

1 Like

Hi @tbbpXYpTbwXaerT

I think that page never existed. My understanding of the anatomy of a Bisq trade is as follows:

Bisq uses a 2-of-2 multi-signature transaction.

  • Maker holds one key
  • Taker holds one key

Bisq trades also contain a timelock payout transaction to a donation wallet that can be signed by either maker or taker once a certain blockheight is reached. This is to send funds to a “donation address” controlled by burningman that once sent traders can make an appeal for compensation to an Arbitrator.

Most of the time the timelock is not needed as maker/taker will sign the transaction between themselves. It is there to ensure if one trader becomes unavailable then the funds can be released.

There are essentially 2 types of transactions:

  • Maker wants to sell BTC / Taker wants to buy BTC
  • Maker wants to buy BTC / Taker wants to sell BTC

Here is what happens in each:

Maker wants to sell BTC / Taker wants to buy BTC

  • Maker reserves funds (trade amount and deposit amount) to a UTXO when they pay their trade fee transaction (either BTC or BSQ).
  • Taker pays their trade fee (either BTC or BSQ) and this creates the signed deposit transaction that will contain the maker’s trade amount and deposit amount, plus the takers deposit amount, plus funds to pay the mining fee when trade is complete and payout to both parties BTC addresses.
  • Taker sends payment (fiat or altcoin) and Maker confirms payment, this will sign the payout transaction.
  • If Taker does not confirm payment or Maker does not confirm payment receipt then the payout transaction has not been signed. Either party can then move the trade to mediation where a mediator can help propose a transaction to be signed by both parties to release the BTC from the deposit transaction address to the payout addresses.
  • If mediation fails for any reason either party can send the funds in the deposit transition to the donation address. Both traders can then submit claims to payouts from the arbitrator.

Maker wants to buy BTC / Taker wants to sell BTC

  • Maker reserves funds (deposit amount) to a UTXO when they pay their trade fee transaction (either BTC or BSQ).
  • Taker pays their trade fee (either BTC or BSQ) and this creates the signed deposit transaction that will contain the maker’s deposit amount, plus the taker’s trade amount, deposit amount, and funds to pay the mining fee when trade is complete and payout to both parties BTC addresses.
  • Maker sends payment (fiat or altcoin) and Taker confirms payment, this will sign the payout transaction.
  • If Maker does not confirm payment or Taker does not confirm payment receipt then the payout transaction has not been signed. Either party can then move the trade to mediation where a mediator can help propose a transaction to be signed by both parties to release the BTC from the deposit transaction address to the payout addresses.
  • If mediation fails for any reason either party can send the funds in the deposit transition to the donation address. Both traders can then submit claims to payouts from the arbitrator.

With regards why an external wallet may be more private I assume that this is because an external wallet might have better utxo management so you have more control over which utxo are used to fund your trades. Currently the Bisq wallet does not give you the option to select which utxo you would like to fund your trades with.

2 Likes

@Pazza wow! Thanks for the thorough answer!

1 Like