UmiaUmia Docs

CCA Tick Spacing

How to choose a valid tickSpacing when creating a CCA auction.

When creating a CCA auction, tickSpacing must align with the configured floor price.

Validity rule

A tick spacing is valid only if:

floorPrice % tickSpacing == 0

If this condition fails, the contract reverts with TickPriceNotAtBoundary().

How to choose tick spacing

  1. Pick your floor price
  2. Decide desired price granularity (coarser vs finer)
  3. Choose a tickSpacing that divides floorPrice exactly

Granularity tradeoff

  • Smaller tickSpacing → more price levels, finer increments
  • Larger tickSpacing → fewer price levels, coarser increments

Example

For floor price 792281625142643 (commonly used around $0.01 in Q96 terms), one valid configuration is:

tickSpacing = floorPrice / 17n;

That gives finer increments than tickSpacing = floorPrice.

Quick validation snippet

const isValid = floorPrice % tickSpacing === 0n;