Pricing and Skew
MarkIt uses a skew-based dynamic pricing model that adjusts prices based on demand imbalance. When one side gets crowded, it becomes more expensive, and the other side gets cheaper. This page explains the model at an intuitive level, with the full math available for the technically curious.
The Intuition
Imagine a market starts perfectly balanced: YES and NO are both priced at 0.50 USDC. If traders start piling into YES, the protocol responds:
YES price rises — Reflecting higher demand and making it more expensive to follow the crowd
NO price falls — Making the contrarian position cheaper and more attractive
Fees increase on YES — The dynamic fee penalizes crowded-side flow
Fees decrease on NO — Rewarding contrarian flow with lower fees
This feedback loop pushes the market toward balance and ensures prices reflect collective information about the likely outcome.
Worked Example
Market: "Will the Rockets beat the Hornets?"
Perfectly balanced (equal flow)
0.50
0.51
0.01
Slight YES lean (60% on YES)
0.57
0.44
0.01
Strong YES lean (80% on YES)
0.72
0.30
0.02
Extreme YES lean (near cap)
0.82
0.21
0.03
As skew increases, the spread also widens — LPs earn higher fees when the market is imbalanced, compensating for the increased risk.
Pool-Relative Pricing
One key design choice: MarkIt normalizes imbalance by the pool's total backing, not by total open interest. This means:
A 5,000 USDC imbalance in a 10,000 USDC pool moves prices significantly
The same 5,000 USDC imbalance in a 100,000 USDC pool barely moves prices
This prevents the first large position from saturating the price curve. Bigger pools absorb larger positions with less price impact.
Piecewise Integration
When you take a large position, you don't get all your tokens at the displayed price. Instead, the contract splits your order into 16 steps. Each step:
Calculates the current mark price
Fills a portion of your order at that price
Updates the liabilities (which shifts the price slightly)
Moves to the next step
This means large positions pay progressively higher prices per token, preventing a single large order from extracting value at a stale price. The trade form shows your effective price — the average across all 16 steps.
Seed Imbalance
Some markets open with a non-50/50 price. The operator can set a seed imbalance that shifts the starting mark price to reflect prior information (like pre-game analytics for NBA markets). For example, a market seeded at 65% YES opens with YES at ~0.65 and NO at ~0.36.
The seed only affects pricing — it does not create any real liabilities or impact solvency calculations.
For the Technically Curious: The Pricing Formula
The mark price is calculated using a capital-aware rational curve:
Where:
curveA(default: 0.30) controls the steepness of the curvevirtualLiquidityadds damping, equal to the minimum LP thresholdAll internal math uses 18-decimal fixed-point (WAD)
Dynamic fee formula:
Default parameters: baseFeeBps = 100 (1%), feeK = 400, minFeeBps = 25 (0.25%). At maximum skew, the crowded side pays up to 5% in fees while the contrarian side pays as low as 0.25%.
Last updated