Multiple liquidity positions
Last modified:
A CenturionDEX v3 pool may contain many active positions, each with its own liquidity parameter and its own price interval. At any price that is not a boundary price of an existing position, only the positions whose intervals contain contribute liquidity. The effective liquidity at that price is therefore obtained by aggregating the liquidity of those active positions. By contrast, at an initialized boundary price, the set of active positions may change abruptly, so the liquidity to the left and to the right of that price need not coincide.
Proposition. Suppose that a CenturionDEX v3 pool contains positions. For each , let be the price interval of position , and let be its liquidity parameter. Define the set of all boundary prices by
Let be such that , and define the active set at price by
Then the effective liquidity parameter of the pool at price is
Proof. If , then no position is active at price , and the effective liquidity is zero, which agrees with the empty sum.
Assume now that . Since , there exists an open interval containing such that no boundary price lies in . Hence, throughout the whole interval , the set of active positions remains constant and is equal to .
For each , let and denote the virtual reserves of position at price . Since position is active throughout , its virtual reserves satisfy
and
Therefore,
Summing over all active positions, the total virtual reserves of the pool at price are
and
Multiplying these two expressions, we obtain
Thus, for every , trading in the pool is equivalent to trading against a single constant-product AMM with liquidity parameter
In particular, this holds at , which proves the result.
This proposition shows that, away from initialized boundary prices, a CenturionDEX v3 pool behaves locally like a standard constant-product AMM whose liquidity parameter is simply the sum of the liquidity parameters of the active positions.
We adopt the convention that a position with range is active on the closed interval. Hence, at a tick-aligned boundary , position contributes if and only if . The piecewise function below reflects this convention; the proposition, which requires , applies to all non-boundary points.
A simple illustration is obtained by considering two positions. Suppose that position 1 is active on the interval
with liquidity parameter
and that position 2 is active on the interval
with liquidity parameter
Then the effective liquidity of the pool is
In the overlap interval , both positions are active simultaneously, so their liquidity parameters add. Outside that overlap, only one of the two positions contributes liquidity. This is the basic mechanism by which multiple concentrated-liquidity positions combine inside a CenturionDEX v3 pool.