The following is an article about the Simulated Liquidity mechanism, proposed to the Synthetix Protocol in SIP-181.

Synthetix as an AMM is useful because you can enter/exit different markets (USD, ETH, LINK) etc. with a constant fee (0.3% usually), as opposed to Uniswap/Balancer where you have slippage depending on order size.

Uniswap/Balancer have separate liq pools for different assets, whereas Synthetix is one big pool of SNX stakers. They are the global counterparty to every trade and the pricing is set automatically according to the protocol.

The other useful aspect of Synthetix are the synthetics, obviously. So gold, NIKKEI index, AUD, etc. Things you can get exposure to really easily by just jumping on Kwenta - and there will be more in future no doubt (and leveraged exposure is coming for all of these assets too thanks to Futures).

One of the harder problems of offering synthetic assets is that there is a arbitrage between the off-chain market price and the on-chain price oracles. Which is exploitable as frontrunning.

Another problem is that low-liquidity markets are easily manipulable by whales. If you can move the price of a market, even temporarily, then there is opportunity for making some profit against the SNX stakers.

Anyways so coming to this SIP - @0xAfif has paved the way for replicating not just the price of external markets, but the liquidity profile too…which is really useful:

My image Name

The exploitable arbitrage between price updates is reduced by means of adding a small fee (price impact factor) which varies according to impact on the simulated liquidity of the market.

For example - sETH. The liquidity profile L(p) might be modelled as a normal distribution -

My image Name

During the window between price updates, where there is potential deviation from the off-chain price - we keep track of the “open interest” - which is basically the trade volume.

open interest = 0 buy 1000 sETH, open interest += 1000 sell 500 sETH, open interest -= 500

The open interest is used to model a fee called price impact based on this “simulated liquidity”.

My image Name

Coming back to the use case - The exchange fees set by synths are in part determined by frontrunning risk. So by modelling the risk better using liquidity profiles + price slippage, we can reduce these fees while retaining security.

Simulated liquidity is another tool in the AMM toolbelt. It’s the sort of thing that I was thinking about when reading @fcmartinelli’s Balancer v2 blog post, when he spoke about separating the AMM from the liquidity.

For those looking to play around with it, I’ve built a Jupyter notebook here containing the core mechanisms - https://colab.research.google.com/gist/liamzebedee/7003e0c113341945ab6a08ba9d1db5fb/simulated-liquidity-feasibility.ipynb.