We all know that decentralized exchanges are promising liquidity providers a proportional share of the fees generated within each pair. If you go to Uniswap, for instance, you will see not only fees generated, but all recent transactions that generated those fees. Right?
Dev teams of decentralized exchanges are coding the smart contracts in a manner that is generating the most fees for the exchange, not the liquidity providers. As a result, users are paying insanely high fees even for simple low-value transactions.
Here is an example of a random transaction took place only today on Uniswap.
This trader intended to exchange AllianceBlock Tokens (ALBT) for Tether (USDT). At the time of the transaction the ALBT/USDT liquidity pool had an exchange price of about 0.648, and the trader wanted to exchange 4,794 ALBT. That was equal to roughly 3,110 USDT (Uniswap pool here: https://info.uniswap.org/pair/0x1cd926f3e12f7b6c2833fbe7277ac53d529a794e).
You would expect - provided that there is a readily available liquidity pool - the transaction to be a simple wallet ALBT -> ALBT/USDT pool -> wallet USDT. And you would be right. But this would generate some $9.33 in fees. Rather than going that way, Uniswap contract initiated a cycle of needless internal transactions (as shown in the transaction hash here: https://etherscan.io/tx/0xdf7077a3096ba1d071102aba46d866f44a21a54a14c613299b6f80d367ee4fea/advanced).
- First, ALBT were swapped for wETH, since ALBT/wETH rate was more favourable for Uniswap. This transaction was valued at $3,119.50, rather than $3,110 (+$9.50),
- then wETH was swapped for USDC, with a transaction value of $3,098.70 (+$11.30),
- and finally USDC was swapped for USDT, with a transaction value of $3,101.10 (-$2.40)
The trade was $9 short, but this is is within the acceptable slippage. How much did the ALBT/USDT liquidity providers received out of this transaction? Not a single red cent! In fact, the transaction is nowhere to be found in the liquidity pool (and how could that be?). On top of that, the gas fees were at 0.0193 ETH (valued at about $23.50), rather than 0.0065 ETH (valued at just under $8) - with the difference being charged by the contracts, in the form of gas fees.
- Uniswap made out of this transaction alone $18.40 from pricing differences among the pools, plus an additional $15.50 charged as gas fees ($33.90)
- The trader lost $9 from the price difference (what he was expecting to receive compared to what he eventually received), plus the gas fees difference of $15.50 (-$24.50)
- Liquidity providers received nothing for providing their AllianceBlock Tokens and Tether in the pool, because Uniswap routed the transaction through other liquidity pools, with the transaction not showing there either.
Keep up the good work, Uniswap! Rip them all!