25,000 KMD [GRAPHICAL USER INTERFACE] Bounty for simple OTC trading gui

There is a large OTC (=over the counter market) market for BTC and other big coins. Such OTC trades are usually done via escrow services like Genesis Global, Itbit, GBTC and others.

The worldwide OTC market volume is estimated to be way larger than what we see on open exchanges.

I'm issuing a 25k Komodo bounty for an easy-to-use gui that allows to trade a specific amount with a specific person, using the BarterDex protocol.

If a simple solution exists, BarterDex could take a large share of the OTC markets thanks to the huge number of coins supported, the inherent privacy and the lack of third party fees/risk

A rogue idea is that when 2 people have agreed what they want to swap, one of them will use the gui to setup the trade by selecting coins and amount.

The gui will create a file or code to pass to the other user for importing in his gui. The gui will then setup his side of the trade. Choosing netid and utxo splitting should all simply done by the gui. The traders need only to deposit and proceed.

I would be nice to have the Komodo security deposit feature available

Here's from Discord, jl777 explaining how to use BarterDex for OTC trading:

jl777c - just use a random netid and you can do OTC swaps, has worked for many months

barbierir - ok but is there a recommended way to split utxo if we want to swap a specific amount ? Let say I have 100 kmd and other guy has 10 Ltc and we want to trade them

jl777c - one makes an FR node with netid X
the other runs a normal node using netidX and seednode the IP of the FR node
one side setsprice
the other side buys

jl777c - and utxo need to be X, X*1.2 for bob, X and X/777 for alice
nothing is different other than using a different netid. so whoever needs to hurry up needs to >create a netid

and here from Discord the latest conversation about the challenges to make it simple for normal users:

blackjok3r - Currently, you would need some backend marketmaker your could spin up in a cloud instance, with the correct firewall settings to act as the FL node, so in effect this app would not and could not be free to use, unless every person trading know how to setup the networking on his computer to create the network,
its a nice bounty, unfortunate most of it would be needed to fund a FR node creation machine

barbierir - I understand, so it is harder than expected

jorian - why would one need a backend marketmaker?
why is a prebuilt binary in combination with electrum not feasible?

blackjok3r - you need an unfirewalled public IP with a direct connection to internet
cheapest way to do that, would be to docker it an lanch it in AWS on demand, and have it time ut and die after X hours.
not exactly expensive but has some cost
you need a FR node to connect to
otherwise you would need X FR nodes run somwherre and the app chooses randomly what one to use, much cheaper to launch on demand.

barbierir - ok I'm understanding less than half of what blackjok3r says except that my idea requires a lot more work than a gui :neutral_face:

blackjok3r - we are talking cents per netid not dollars... its cheap, but not free.
someone has to pay the cost.
and cloud providers take USD... not crypto

jorian - ah, i get what blackjoker is saying. for a new network to work, some Full Relay nodes need to be spawned in that new network to relay the alice and bob msgs?

blackjok3r - yes
You only need 1, then the GUI connects alic and bob to it

jorian - i see

blackjok3r - then the user has no worries about firewalls or any of that complicated stuff

1 Like

Another issue i came up with later on, is the fact that the selling side needs to put up a deposit of 1.13 times the size of the amount to transfer. So say that you want to sell 50 KMD for whatever coin, you as seller need to put up an additional 56.50 KMD as deposit.

For buyers, it's not a problem, since all they need to pay extra is a dexfee of +/- 0.15%.

OTC is usually done for large amounts, so I think the best solution is to process them in many small sized batches.

Here having a KMD security deposit becomes handy because it would speed up the trades in a reasonable amount of time.

Could this work?

If its a large amount, you could have it swap less than half first. Then swap 25% and so on until most of its it gone. I don't think this would be such a huge issue, it just takes quite a long time for something like BTC.

Indeed. It's a process that could take a while, especially with the block confirmation time of BTC (when someone wants to buy stuff with BTC, or BCH for that matter). Since the BarterDEX protocol requires at least 2 transactions from both sides, 1 successful OTC trade can take a while.

The best scenario is for the seller to be a whale :slight_smile:

Im interested in designing the gui. I think i could do something awesome for this. What are the requirements to be legible to receive the bounty.

The requirement is that it allows 2 normal users, without special skills, to setup a direct atomic swap between them for a specific amount and that it passes a code review from Kmd team or DevSec

We are a team of one UI Designer and Frontend Developer we are serious about taking on this task. Could we do a skype call and to go through it.

Are you in Komodo Discord? Pls pm me there.

As you read in the above convos the main issue from the simple user's perspective is creating a FR node for the chosen netid.

1 Like

I might have some spare time to work on this in the next week or two, as patchkez is now in vacation so scaling will be held up until his return. If the PoC back end works fine we are good to go. The most important thing will be to make sure swaps work at least 95% of the time. Hopefully because the networks are isolated there wil be no issues what so ever, but it will need quite a large amount of testing.

As experienced full-stack coder I might be interested in this task as well. Is this still open and does it matter if the GUI is an app or a web site?

If I understood correctly the challenge here is setting up on demand FR nodes that require certain environment to work and that is never free..

Hi, I'm not the expert here but that seems indeed the main challenge. From what I read the mm2.0 will be a huge improvement and make it somewhat easier. Q1 2019

Okay cool. I have to look into this..

it seems the implementation of Crypto-Conditions with the gateway and oracle CC will offer a simpler way to create an OTC trading app. Ok this is not an "atomic swap" but, with the CC improvements to existing proxy-token technology, it has a more than acceptable level of security.

This will be a fall back option in case that allowing home users to set up on demand FR node remains an unsolved problem

This this can be done, using QT/QML on the desktop with p2p messaging using ZeroTier Moon, under the hood - can be done.. but may cost more than 25k KMD