Docs/Getting started/FDV markets
FDV markets
Resolve a market from an ERC20 token's exact total supply multiplied by its authenticated Uniswap call-time price.
Observed FDV#
The resolver multiplies exact ERC20 total supply by an authenticated Uniswap V2, V3, or V4 call-time spot price.
An FDV Market asks whether every currently reported token unit, valued at the selected pool's current quote-token price, is below or at least a chosen threshold. Both inputs are read in the same resolver call: totalSupply() from the base token and reserves or sqrtPriceX96 from the authenticated pool.
Calculation and units#
fdvQuoteRaw = floor(totalSupplyRaw × quoteReserveRaw / baseReserveRaw)
V3 and V4 derive the same quote/base ratio from sqrtPriceX96.
YES = fdvQuoteRaw < thresholdQuoteRaw // Below
YES = fdvQuoteRaw >= thresholdQuoteRaw // At leastKeeping the calculation in raw token units avoids a lossy intermediate human price. The creation interface reads the quote token's decimals and converts the entered valuation directly into thresholdQuoteRaw.
Creation and settlement#
Choose pool
Select an authenticated Uniswap pool and the token whose FDV should be measured.
Set valuation
Choose Below or At least and enter the threshold in normal quote-token units.
Choose timing
Use Before deadline for early YES settlement or At deadline for the first deadline-window valuation.
Launch
The factory clones the matching V2, V3, or V4 verified FDV implementation.
Security and interpretation#
- The pool is authenticated by its canonical factory, or by the canonical V4 PoolManager, StateView, and complete PoolKey.
- Supply and price are both live call-time state; no TWAP, historical average, circulating-supply estimate, or oracle is used.
- Flash liquidity, low liquidity, token minting or burning, rebases, V4 hooks, and pool manipulation are explicit market risks.
- Full-precision saturating arithmetic prevents intermediate overflow from turning a very large FDV into a small value.