DeFi liquidity pools — how to monitor the market?

(Using the DeFi interface of the UBIX Exchange of to manage price differences)

Liquidity pools, constant product curves, price impact — these new constants require not only understanding, but also routine operation.

The main problem faced by the user is the lack of an intuitive understanding of price changes when making transactions with liquidity pools.

The problem lies in the non-linear dependence of the price on the volume of the transaction. This does not fit into everyday transactions: it is difficult to imagine that you can pay the usual $30 for filling half-a-tank with gas, but for a full tank the price suddenly escalates into the thousands.

But for hyperbolic functions describing price dependencies in DeFi pools, this is a common occurrence. Because of this, many protocols put a limit on the ‘price impact’ — so as not to shock ordinary users.

As an example, here is what the graph of our UBXE exchange token in a Uniswap pool looks like compared to the traditional constant price:

UBXE/ETH rates in a Uniswap pool compared to the constant price

In addition to this non-linear price, the user must navigate another trap — rapidly growing commissions and transaction fees (the cost of gas in Ethereum):

Ethereum gas price

Given this resource demand as well as the high complexity of smart contracts, small deals in DeFi pools can be unprofitable.

Where is the common basis for comparison?

What are the standard considerations for deciding on a transaction? Of course, there is the standard order book — a list of offers to buy or sell an asset. The DeFi pool is another matter. So how can these two opposing methods exist together?

The common basis for these two methods lies in the calculation of the amount of an asset that can be bought for the proposed price. That is, we can compare the acceptance of bids/offers with an identical transaction through the DeFi protocol. At the same time, we can also consider gas fees by including them in the cost of the transaction.

Here is an example for calculating market rates using the example of our other token — UBXM (MakeMeMoney staking service):

Here the first two columns are a regular order book. Next, we calculate how much in total will be exchanged when making a deal in the order book. After that, in the [UBXM “swapped”] column, we calculate how many tokens can be obtained when exchanging them in the liquidity pool. To simplify perception, we calculate the deviation as a percentage of the deal in the order book, i.e. showing how much more profitable it is to make an exchange in DeFi.

In search of the ideal UX.

In order not to complicate the exchange interface, one additional column showing the difference with the DeFi pool will clearly show any variance.

As a result, we get a DeFi-adapted interface used in the UBIX.Exchange:

Thus, the arbitration opportunity becomes obvious.

The next step in adapting the interface is integration with multiple pools, including liquidity pools in different ecosystems.

Follow the news in our group !

Ecosystem of decentralized applications.