Currently, the protocol fee is 70k * gas_price.
After the recent block gas limit increase, the prices became manageable, but it might be only a temporary solution, eg. the blockchain will get clogged again.
Also, with ETH price at 3.5k and gas at 70Gwei, a basic swap is still $15 in gas and $15 in protocol fees. If by any chance ETH goes to 10k and gas price to 200Gwei, we’re again talking about $250 for a single transaction.
The current “flat rate” model is good for big traders and terrible for small traders. Every day various users, especially small traders, keep asking on Discord about their limit orders not being filled (happening due to gas/protocol fees). A simple idea for better fillability is to adjust the protocol fees and charge differently depending on the trade size.
The fee would be
(30bps taken from the top of my head).
First, I am aware it’s not obvious, or even not possible, to reliably compute 0.3% from a ZRX-BAT trade. Also, even if the fee can be computed, it still needs to be transported to the Treasury and converted to WETH – not easy and costly as of now (maybe can be extracted as “extra gas”?). Thus the first step would be to have this in ETH-denominated markets, which constitute the majority of 0x volume.
Secondly, a deeper look into the market is needed. I have no idea what the bots arb against – I’d expect, maybe incorrectly, someone in 0x ecosystem (Periscope?) to know this stuff. Then perform even a naive analysis.
Take, for example, 1k random snapshots of 0x Mesh (there are 12.5k orders in the mesh as of now, so it’s 12.5M orders in total which can be parsed in seconds) and 1k snapshots of potentially “arbable” sources (Binance, Coinbase, Uni?). Then compare how many orders can be arbed with different fee models and how much protocol fees can be extracted. Even if the total amount of fees collected doesn’t change, the extra orders filled would result in happy customers and potential networking effects.
I am most certainly over-simplifying the case, but curious about the opinions.