Source References: Code citations link to raw GitHub files pinned to commit 46bad16d .
V4 Multicurve Auction
When to use
-
You are configuring or debugging multicurve launches on V4
-
You need curve share math and position distribution behavior
-
You need locked vs migrable pool semantics
Prerequisites
-
Confirm curve set and share total (WAD exact)
-
Decide variant:
-
Base multicurve (UniswapV4MulticurveInitializer )
-
Scheduled multicurve (UniswapV4ScheduledMulticurveInitializer )
-
Decay multicurve (DecayMulticurveInitializer )
Core workflow
-
Build Curve[] and validate shares/tick spacing.
-
Initialize pool with selected variant.
-
Confirm status path:
-
Initialized (migrable, no beneficiaries)
-
Locked (beneficiaries configured)
-
Track progression to far-tick exit (for migrable pools).
-
If locked, use fee collection paths instead of migration exits.
Quick facts
Item Detail
Main contracts UniswapV4MulticurveInitializer , UniswapV4ScheduledMulticurveInitializer , DecayMulticurveInitializer
Allocation model Shares-based across independent curves
Rebalancing None (static positions)
Hook variants Scheduled start-time hook, decay fee-schedule hook
Failure modes
-
Curve shares not summing to WAD
-
Tick spacing misalignment
-
Treating locked pools as migrable
-
Wrong assumptions about scheduled start or decaying fee behavior
References
-
PARAMETERS.md
-
FLOW.md
-
FORMULAS.md
-
GOTCHAS.md
-
VARIANTS.md
Related skills
-
v4-dynamic-auction
-
doppler-hook-initializer
-
fee-architecture
-
verification