On CloudEX.app, user places a buy order with an extra transaction fee and a sell order which will dedicate the transaction fee from the to-be-received quote tokens. The transaction fee is calculated through the percentage of transacted volume, which is set in the site configuration when the percentage of transacted volume is too small to cover the gas for the execution. The system will then charge the minimum transaction fee in order to pay for the execution gas.
For example,
Alice places a buy order for 100 ZRX with 1 WETH,and the price is 0.01. The calculated fee is 1 * 0.1% = 0.001. The current minimum transaction fee is set to 0.00075(*). Alice should sign an order with 1.001(1 + 0.001) WETH for 100 ZRX.
Bob places a sell order with 50 ZRX for 0.5 WETH,and the price is 0.01. The calculated fee is 0.5 * 0.1% = 0.0005 < 0.00075, then the fee is set to 0.00075WETH. Bob signs an order with 50 ZRX selling for 0.5 - 0.00075 = 0.49925 WETH
When those orders have been fulfilled (assuming Alice’s order has been filled twice). Alice will pay 1.001 WETH and get 100 ZRX, while Bob will get 0.49925 WETH with 50 ZRX sold.
All transactions, including smart contract executions on the Ethereum transaction, require a gas fee, which is paid to the miners on the Ethereum network as a reward for confirming the user’s transaction. Therefore, user will pay gas costs directly for things like wrapping/unwrapping ETH and unlocking tokens. Placing and cancelling an order do not incur a gas fee.
Since we realized that liquidity is the key factor for an exchange, we will have liquidity incentive program in the near future.