PR for Face to Face trade

Just added a PR for Face to Face trade:

Screenshots are here:

Feedback welcome!


It is exciting to see this feature finally coming to Bisq.
Hopefully it will be a huge success and we get some valuable feedback.

I used to do cash transactions on localbitcoins. The problem was that 3 out of 4 times the counterparty did not show up. So I eventually stopped doing cash.

Doing a quick search for a cash transaction on lbc I found that I have to travel 200 km and another 200 km back home again. Now most of my sepa transactions are with another country. I guess this feature doing cash transactions in bisq is a bit premature. But it is a nice feature none the less.

I admire your hard work and dedication.

1 Like

If I understand BISQ correctly:
Both the maker and taker need to put up a security deposit/escrow.

This makes BISQ more resilient than localbitcoins. BISQ discourages wasted time and spam/scams.

I also commend your work and dedication!

Great news! I think @erizo will like it.
I’m reading everything on the PR and I like a lot how all the possible issues can be managed. I was very skepticall about F2F trades on Bisq. But after Localbitcoins requiring KYC I think that a window has been opened and something better than Localbitcoins is on the way.


I hope the security deposit will help to avoid that. But good point we need to check how the arbitrator can find a solution in such cases. If peer tells a conflicting story the fund might get locked up if arbitrator cannot find clear evidence. The seller is here for sure more at risk as he has more funds locked up.

Just stumbled over an older discussion here:

The idea from @erizo to use a bank transfer as security tool was quite interesting.
We could recommend the users that they do a tiny 1 EUR transfer to each other, so they know the others bank details. That gives them some sort of KYC and reduces the risk of robbery a lot IMO. As it is just a recommendation it is up to the users to do it or not. They could also perform a normal ID check but that comes with ID theft risk, so a bank transfer might be less critical.

@peertrade also gave a lot of input there. Would love to hear his opion about the current proposal.

Thank you for this pull request.

I would like to propose this also.
For the traders who do not want to leak personal data, shop keepers may become witness of a trade and receive a tip for that.

For example an exchange is done in a shop with a shop keeper as a witness.

  • the shop keeper creates a bisq account, and broadcasts his adress and his readiness to act as a witness
  • two traders meet in his shop to perform a trade
  • the shop keeper scans the QR code of both participants, so that he receives the trade details and be linked to the trade
  • the traders perform the trade
  • the traders and the shop keeper confirm (or not) that the trade occured properly
  • if everything is ok, the shop keeper receives a witness fee and gets an increase in reputation

The shop keeper would have little incentive to lie because his shop real adress would be public, while the traders may remain anonymous and not give away private information (ID, voice/camera record of the trade, etc.).

Hm interesting approach but wouldn’t turn that the shop keeper as the trusted third party who could act as escrow anyway? E.g. wouldn’t it be more simple to just do a classical escrow with the shop keeper in such cases?

1 Like

very interesting idea.

The shop owners can put up a BSQ bond to prove ownership and escrow legitimacy.
It’s true, the shops can do this outside of the platform, but BISQ can provide a listing space for these F2F shops.

I’ll open the first bonded BISQ trade shop!

I like the idea of trying to standardize things, but this shopkeeper idea is imo the (nth) return of the third party. Throw him by the door, he reenters by the window.
Not only would the shopkeeper be a third party, but also a wonderful point of failure.
Half of drug affairs today in the US are affairs where one of the party cooperates with the FBI when he’s not simply a FBI guy.
Even if not cooperating, a fixed place is also an easy place to easily monitor today. Even from outside, even with non specialized hardware.

1 Like

Personally, other party showing up hasn’t been an issue for me. But considering the scenario…

It seems to me that if counterparty doesn’t show up, then either:

  1. both parties should get their escrowed funds returned, or
  2. the party that did show up should receive escrowed funds of the one that didn’t, as compensation for lost time/expense, and to dis-incentivze that behavior.

(1) is simple, and likely sufficient for now, unless/until it becomes a significant issue.

(2) is perhaps more desirable, but it requires some proof for arbitrator.

For (2) I can think of a policy something like:

  1. meet details (address, place name, time) must be recorded and agreed in advance somehow, in a private but non-forgeable way. Ideally bisq would include a tool for this, eg so both parties can digitally sign. Then it is recorded via or maybe encrypted in bisq p2p network (accepted offer info).
  2. If party a does not show, party b can take photos to prove s/he was there. Ideally this would be of signage such as: entrance to establishment, address on door, street name sign, etc. Ideally with GPS location in photo metadata. The photos should be entered into a timestamping service such as within 1 hour of the meetng.
  1. agrieved party submits original agreement from (1) and photos from (2). arbitrator checks them at ( or similar service ) and awards if photos are convincing and timestamped docs are found. (if counterparty cannot do same within X period.)

quite possibly more trouble than it is worth in short term, but could perhaps be usable by mere mortals with enough hand-holding from the app. I imagine even a bisq localtrader mobile app that assists with evidence gathering and submission to timestamping service(s) and arbitrator.

I just had a look at the screenshots and reading discussion. In general, very happy, thanks! a nice surprise. :slight_smile:

A couple thoughts:

  1. I don’t see need for bringing laptop. I think most people doing f2f are accustomed to using phone wallets for actual transfer. And the laptop doesn’t accomplish so much. if a thief is going to rob me, he can simply shove a gun in my face and instruct me to confirm the transaction was completed. Then he takes my laptop too. Instead, why not let the meetup be for funds transfer only, and then the final step is completed when one is back in a safe place.

  2. The escrow brings some warm fuzzies for both parties, but may actually be a risk for bisq project and arbitrators as it puts them in uncomfortable situation if law enforcement gets involved over a dispute. Bisq could instead act simply as a “counterparty discovery” mechanism, and everything that happens after two parties contact eachother is their own responsibility and no one else’s. I fear that the arbitration feature could become a “hook” one day used by kyc/aml advocates to go after the bisq project, particularly if a violent crime ever occurred and funds were somehow released to the wrongdoer.

In general, I suggest f2f participants to use the following strategy.

  1. Use a system such as bisq to find new people to trade with locally.
  2. For first trade(s) with someone, use small amounts only. Bring a phone wallet with only small amounts loaded, or equiv small amount in cash. Meet in public place and Bring a friend or two if you are worried about safety.
  3. Get a feel for the person. Build up trust over a few smaller trades, or walk away.
  4. If the person is reliable and solid, you can continue to do many trades with them over time. Usually can just contact them directly, no need to use bisq, lbc, etc.

So imho the escrow is only really needed for large amounts and untrusted parties, but that’s not a situation one should find oneself in, if using above approach.


another thought, looking at the market screenshot for takers…

I see that there is “Filter by Payment Method”, and presumably one can select “F2F”. well and good.

But then I guess I would see F2F offers from all over the world.

I think that when F2F filter is chosen, another filter should appear that is Filter by Location. Ideally one could type in a city, country and choose a proximity (eg default 100 miles) to get all offers in that area. Or maybe for now it is just a listbox with values populated with unique country,city from all offers, or even just country is likely sufficient for many places.

LBC offers google map integration and that could be nice at some point, though not really necessary.

A sortable location column also be quite useful.

1 Like

Yes, I don’t think laptop is necessary, smartphone is useless as well.
You can simply do the cash transfer on site and confirm the payment once you get home.
Just like going to a bank to do a cash deposit.

Escrow isn’t something Bisq offers, but if people want to do something with it outside of Bisq, that shouldn’t be anything stopping them.

We don’t want to introduce a new trade protocol as we don’t have the dev resources as well we don’t know if users will really use that new payment method. So we need to start with existing structures and that is that the payment is done via Bisq and the arbitrator is part of it. If we see that the payment method will really be used we can invest more effort to fine-tune.
So for now the main challenge is to make the best out of that setup and if we can find ways to add more security without adding a lot of dev effort. To recommend a test bank transfer of a 1 EUR amount for both traders is such a suggestion which will not add effort on Bisq dev side but would add quite a bit of security for those who are willing to do that.

I think that requiring and ID exchange (know your peer identity) at meeting point in “Additional Terms” is not supported by the trading protocol.
If both parts aggree, why is that a bad idea?

1 Like

1/ At the beginning of this same thread, it was noticed that
"after Localbitcoins requiring KYC I think that a window has been opened "
… and now there is suggestion to walk the same path ?

2/ Honest people do not use false IDs, but dishonest people have no worry with that.
By dishonest I mean also people collaborating with govs, and for them false ID is very easy.

There is certainly room for improvement for this very new F2F feature.
But hopefully we’ll have enough imagination to find new solutions and not returning to using usual gov collars.
I don’t know if it is already in the protocol, but each party bringing it’s onion address may perhaps be useful ?

Or for people wanting, they may have PGP exchanges before and agree on a passphrase or a dressing code etc (shower ideas ;-))


Police/law force is going to be needed if things get ugly. I don’t think that a PGP key or a dressing code is needed. If someone is coming to a trade we’ll have no problem to identify ourselves. Lack of reputation and liability is the problem here. Exchanging PGP keys it’s not something that will make me feel more confident, it doesn’t say anything about my peer’s past behaviour. But knowing your peer’s ID could be a good way to start a police report and make things easier, so it could be also a good way to stop some people from doing bad things.
I understand that a bad guy could use a fake ID. That’s a very good point against requiring ID, but I still thing that it could be allowed as “Additional Terms”.
Faking ID is a crime that police will pursue, and is heavily punished, so it could stop some bad guys for low amounts.

Concerning reputation,
it was already discussed here, and the idea which emerges which conciliates privacy together with reputation,
is to consider negative reputation (only appying to few) versus positive reputation (applies to everybody).

You have already some reputation tools here in Bisq:

  • make a search with your buyer/seller onion address here in the forum. If he’s a known scammer, you’ll know it
  • look at the account age, number of trades, you’ll know if your peer is a new account or an old bisq user.

And I profit to remind the doc about F2F and smart advices:

1 Like