Proposal: Market Order Fee / Limit Order Reward

Every trade is a match between a limit order and a market order. Participants who use limit orders have to wait for a match, or even risk the order expiring. A market order is matched instantly (for CP: at the next block).

Limit orders are advantageous for the market as a whole. They add liquidity and therefore traders sometimes get lower (or even negative) commission for trades through limit orders. See here : http://www.quantifiedstrategies.com/how-to-receive-commissions/

With the DEx this problem is larger than with a traditional exchange. Placing an order in the DEx costs a miner fee, as does canceling and changing orders.

May a system to stimulate limit orders be implemented in the DEx? I propose giving the issuer of a token the opportunity to choose a fee (e.g. between 0 and 1%, default 0) for each matched trade. It is paid by the one who places the market order and received by the one with the limit order.

The challenge is in balancing the fee needed to achieve sufficient liquidity versus a low enough fee that people want to do the trade on the DEX. It must be competitive with centralized exchanges to work. The other variant is in the availability and level of trust required in other exchanges with liquidity. We wouldn't want the 1% hard coded, we'd want a market to be able to set that and perhaps that is done via broadcasts and contracts for difference.

Wouldn't it work if the issuer of an asset sets the fee for trading his asset?
The DEx could inform of this fee; e.g. 'Market order fee / limit order reward: 0.2%'


If the issuer of a particular asset wants to stimulate limit orders, e.g. to make a tight spread, the fee could perhaps be set at 0.5%.
In most cases I guess the issuer would want to leave it at zero (which could be default).


> Every trade is a match between a limit order and a market order. Participants who use limit orders have to wait for a match, or even risk the order expiring. A limit order is matched instantly (for CP: at the next block).


A limit order is matched instantly if it's matched, otherwise it just hangs in there. Maybe you made a typo somewhere in the last 2 sentences?


I've heard this framed differently, but it's based on the same reasoning: limit orders create liquidity, market orders destroy it.
Therefore it's good for liquidity to not charge for limit orders.


I like the idea, although I don't understand many details about the way the DEx works.
For example, fees don't go to Counterparty (project/protocol/token holders) but to bitcoin miners, so as far as I can tell there's no way to reward limit orders if the money isn't taken away from someone. Stock exchanges and brokerages can devise various reward schemes because they do make money from trading.


Not directly related but interesting is this issue on Github:
https://github.com/CounterpartyXCP/counterpartyd/issues/181

[quote author=something link=topic=541.msg3280#msg3280 date=1409750926]
A limit order is matched instantly if it's matched, otherwise it just hangs in there. Maybe you made a typo somewhere in the last 2 sentences?
[/quote]
Yes, I made a typo. Thanks for pointing out. I modified the original post, so it shall be correct now. My point is that for every trade there is one participant who gets a match instantly ("market order") and one participant who has been waiting for a match ("limit order"). On the DEx under "Completed Trades" the first column, "Type", indicates whether the buyer or the seller got an instant match.



[quote author=something link=topic=541.msg3280#msg3280 date=1409750926]
For example, fees don't go to Counterparty (project/protocol/token holders) but to bitcoin miners, so as far as I can tell there's no way to reward limit orders if the money isn't taken away from someone.
[/quote]
In this case the fee would go from the one who placed the "market" order to the one with the "limit" order. Miners or Counterparty [font=verdana](project/protocol/token holders) would receive nothing.
[/font]
Say the issuer of TOKENXYZ sets the fee at 0.2%. Alice has a limit order to sell 100 TOKENXYZ for 1 XCP. Bob buys from her. Now Bob will be charged 1.002 XCP and Alice will receive 1.002 XCP when 100 TOKENXYZ are transferred from Alice to Bob.

Yes I agree with the approach that liquidity makers get rewarded, it's just a matter of striking the right balance. In proposed approach the market-price buyer has to pay, so generally speaking this reward should be small enough to make it competitive trade on the DEx, but higher than zero in order to attract limit-order creators.  In case of individual assets, it could be arbitrary and depend on the issuer/application/purpose.
If you want to run it by the devs you can create a new enhancement request to countepartyd on Github.