On the Ethereum network, Uniswap.io is fast becoming a killer app. See this podcast.
What does Uniswap do? It allows any ERC20 token and ETH to be placed into a smart contract so that liquidity can be provided for instant conversion from token to ETH or from ETH to token. Once a Uniswap contract has been created for a token, anyone can call a AddLiquidity function on the contract to deposit ETH and token. Others can then call the Eth2Tok or Tok2Eth functions to send one and receive the other instantly. There is a simple formula used to determine how much you get out based on how much you put in and the current ratio of the ETH and token in the contract. The swap holds back 0.3% in the contract as a small fee for the liquidity providers. A liquidity provider can call the RemoveLiquidity function at any time to remove all or part of the ETH+tokens they had deposited along with the portion of fees they collected.
A nice feature of instant swap is that it makes it possible to convert from any token to any other token by doing tokenA to ETH to tokenB as if it is one transaction.
Waves already has a DEX, but it requires the market maker (aka liquidity provider) to constantly monitor the activity and place new orders. The Uniswap feature would automate the market maker so that anyone can add liquidity to the swap contract and not have to monitor the activity.
On Waves this feature could be added natively to the Waves platform so that the cost of transactions can be much less than what they are on Ethereum.
Also this feature is good for increasing the demand for Waves since more Waves will be locked up to provide liquidity.
It also provides a way to separate the good tokens from the junk tokens simply by ordering the tokens based on the liquidity available.
The Uniswap feature is definitely a killer app for any platform that allows for tokens. The sooner the Waves development team adds this feature the better for all the token issuers.
Uniswap whitepaper: https://hackmd.io/C-DvwDSfSxuh-Gd4WKE_ig