I would like to discuss the trading fee policy planned for the next big release (DAO release).
We would like to make fees dependent on the trade amount and the distance to the market price (if a market price is available).
The trading fee has an important role for the security as it acts as spam protection as well as for privacy protection. There are 2 types of trading fees with different functions:
1. Create offer fee:
Here it is for spam protection.
Without the fee a user could create 1000s of offers spamming the P2P network, creating load and resource costs for every node but not adding value to the exchange platform. He could do that by manipulated code rendering the offers invalid when someone would like to take it so just publish offers but don’t really use BTC for those. Anyone taking the offer would lose time until the timeout triggers a failure, so it hurts even more.
2. Take offer fee:
Here the fee acts mainly as protection against data harvesting for Fiat trades.
When using a fiat payment method, the other peer gets the account data required for the fiat transfer (usually the name and bank account nr.). In the last step of the take offer handshake those data are exchanged. Without a “take-offer-fee” a malicious peer could use a manipulated code and let the take offer fail in just the last moment after he has received the peers account data and so collect a large amount of users account data. To avoid that the take-offer-fee adds at least some costs to such malicious behavior.
For altcoins that is less relevant as the account data only consists of the altcoin address but even there the altcoin address might be abused for de-anonymization if it is used elsewhere.
Beside those important functions the trading fee will play an important role in the economic model of the upcoming DAO. The users can choose then to pay the fees in DAO tokens and if so they will get a cheaper fee so that will create demand for tokens on the market, giving the token a monetary value.
If the trader uses BTC instead of DAO tokens, he will pay it like now to the arbitrator (or maybe we use a donation model to a project we want to support like Tor or Wikileaks).
The monetary revenue of the trading fees is very small (the arbitrator has earned about 3 BTC after nearly 1 year). We want to keep the fees as low as possible to help bootstrap the network. Later the fee will adopt to the market situation.
Unfortunately the mining fee has become a big part of the fee (the fee payment is a btc transaction and requires the mining fee). In future we will look into solutions how to avoid that extra transaction.
So the new fee model is planned like that:
There is a minimum fee of 0.0001 BTC (otherwise we get close to dust level) and the default fee is 0.0003 BTC.
The fee will be multiplied by the trade amount, so a 1 BTC trade has 0.0003 BTC fee, a 0.5 BTC trade has 0.00015 BTC as fee.
Furthermore the % distance to the market will have an influencing factor (only for the create offer fee). 1% difference is factor 1, smaller distance reduces the fee until it reaches the min. fee and larger distances will increase the fee.
Examples:
1 BTC trade, 1% market distance: fee = 0.0003 BTC (default fee)
0.5 BTC trade, 1% market distance: fee = 0.00015 BTC
0.1 BTC trade, 1% market distance: fee = 0.0001 BTC (min. fee)
1 BTC trade, 0.5% market distance: fee = 0.00015 BTC
1 BTC trade, 0% market distance: fee = 0.0001 BTC (min. fee)
1 BTC trade, -1% market distance: fee = 0.0001 BTC (min. fee)
1 BTC trade, 2% market distance: fee = 0.0006 BTC
1 BTC trade, 10% market distance: fee = 0.003 BTC
1 BTC trade, 30% market distance: fee = 0.009 BTC
Max. allowed market distance will be 30%.
With the market distance factor we create a higher incentive for good offers which are close to the market price. Offers with 10% distance or more will usually stick very long in the offer book, causing costs for the network and each user and do not add much value as most people are not interested to take an offer with such a bad price.
And if a trader who uses a high % and find a taker he will make a huge profit so the increased fee is still a very small part of his profit from arbitrage.
I wanted to ask the community for feedback about that model. The exact numbers are not set in stone yet and the actual values for the fees will later be defined by voting in the DAO (2. step of the DAO in a few months).
Please keep in mind that goal is to keep the model as simple as possible with the max. positive effect for the platform.
To make it easier for the user to see what the fee is, we will display the actual % of the fee in relation to the trade amount.
There is another important aspect in the new model:
The taker fee is at the moment higher than the maker fee to create incentives for makers.
In the new model we will use the mining fee from a fee estimation service (21.co) so the exact mining fee for the actual trade (once another trader takes the offer) is not known in advance when the offer is created.
That causes an asymmetry in the mining fee payment. Now both trader pay the same amount of mining fee (one pays the deposit tx fee, the other the payout tx fee).
But as the maker (offerer) need to reserve the required BTC for the offer but we don’t know the required fee in advance we need to shift that burden to the taker. So the taker will pay 2 times the mining fee (deposit tx + payout tx).
But that aligns with our intention to give incentives to the maker. To not create a too high burden the taker fee will be similar or equal to the maker fee (0.0003 BTC). At the moment the taker has the double fee as the maker.