Tick interval
Last modified:
In the previous example, we allowed any integer to serve as a tick index. In practice, however, CenturionDEX v3 restricts the set of tick indexes that may be used as position boundaries through a parameter called the tick spacing. Let be a positive integer denoting this parameter. Then a tick index is admissible as a lower or upper bound of a position only if
Equivalently, only multiples of may be used as position boundaries. For example, if , then the admissible tick indexes are
Thus, the tick spacing determines the granularity with which liquidity providers can choose price intervals.
Returning to the example above, suppose now that the pool uses tick spacing
Recall that the target price interval was
Because only multiples of are admissible, the actual boundary ticks must be chosen among such indexes. To obtain a tick-aligned interval that contains the desired range, we select
and
The neighboring admissible ticks around the target bounds are therefore
The prices associated with these admissible ticks are approximately:
Hence, the tick-aligned interval determined by the admissible bounds that contains the desired range is
Therefore, with tick spacing , a liquidity provider cannot implement the exact continuous interval . Instead, the position must be defined using admissible discrete tick boundaries, which in this case leads to the interval .
The tick spacing parameter is fixed when the pool is created. A smaller value of allows liquidity providers to choose price ranges more precisely, but it also makes the system more granular and may increase execution costs when the price crosses initialized ticks. Conversely, a larger tick spacing reduces boundary precision, but it can make the bookkeeping of liquidity changes more efficient.