Skip to main content

Implied probability

Market prices represent implied probability. A YES token trading at 45¢ implies roughly a 45% chance the outcome occurs. YES + NO prices should sum to approximately $1.00 (plus the overround fee).

The AMM venue

Most markets today trade through an automated market maker (AMM). Which is a pool of YES and NO tokens that sets prices based on supply and demand. When you place a prediction:
  1. USDC is minted into YES + NO tokens (fees skimmed).
  2. You swap away the side you do not want.
  3. The AMM price updates for the next trader.

LS-LMSR in depth

ezpz.fi prices AMM trades with LS-LMSR (liquidity-sensitive Logarithmic Market Scoring Rule) (Othman, Sandholm, Pennock, Reeves, EC 2010). It is a cost-function market maker: the pool tracks how many outcome tokens it has sold and charges USDC equal to the change in a convex cost function C(q)C(q). Compared to a static LMSR (fixed liquidity parameter bb), LS-LMSR lets depth grow with open interest. More tokens outstanding → larger effective liquidity → smaller price impact per dollar traded. The trade-off is that vig (house edge) is embedded in the pricing rule rather than added as a separate fee on top.

State

Each pool tracks binary quantities (in micro-token units): q=(qyes, qno)q = (q_{\text{yes}},\ q_{\text{no}}) These are the net YES and NO tokens sold by the pool since inception, including the maker’s seed quantities. There is no reserve-ratio formula like xy=kx \cdot y = k.

Liquidity parameter

Liquidity scales with total outstanding quantity T=qyes+qnoT = q_{\text{yes}} + q_{\text{no}}: b(q)=α(qyes+qno)=αTb(q) = \alpha \,(q_{\text{yes}} + q_{\text{no}}) = \alpha T where α>0\alpha > 0 is fixed at pool creation. When α\alpha is larger, the pool is deeper (more vig, less slippage). At uniform prices the total overround is approximately: pyes+pno=1+2αln2p_{\text{yes}} + p_{\text{no}} = 1 + 2\alpha \ln 2 So a target vig of vv cents implies: αv2ln2\alpha \approx \frac{v}{2 \ln 2} (e.g. v=0.05α0.036v = 0.05 \Rightarrow \alpha \approx 0.036 for a ~5¢ overround at even odds).

Cost function

The pool’s cost function is the LS-LMSR log-sum-exp form: C(q)=b(q)ln ⁣(eqyes/b(q)+eqno/b(q))C(q) = b(q)\,\ln\!\left(e^{q_{\text{yes}}/b(q)} + e^{q_{\text{no}}/b(q)}\right) Numerically stable equivalent (used on-chain): let m=max(qyes,qno)m = \max(q_{\text{yes}}, q_{\text{no}}), d=mmin(qyes,qno)d = m - \min(q_{\text{yes}}, q_{\text{no}}), and b=αTb = \alpha T. Then: C(q)=m+bln ⁣(1+ed/b)C(q) = m + b\,\ln\!\left(1 + e^{-d/b}\right) Only the difference d/bd/b is exponentiated, which keeps fixed-point math safe at large TT.

Trade pricing algorithm

Trades are not priced at a displayed marginal quote. The economic rule is always the cost-function difference. Buy Δ\Delta tokens of side ii (e.g. YES): cost=C(qi+Δ, q¬i)C(qyes,qno)\text{cost} = C(q_i + \Delta,\ q_{\neg i}) - C(q_{\text{yes}}, q_{\text{no}}) Sell Δ\Delta tokens of side ii: payout=C(qyes,qno)C(qiΔ, q¬i)\text{payout} = C(q_{\text{yes}}, q_{\text{no}}) - C(q_i - \Delta,\ q_{\neg i}) On-chain, USDC amounts are rounded in the pool’s favor (buys rounded up, sells rounded down). Because CC is convex, ΔC\Delta C per token rises as you trade more in one direction — that is AMM slippage.

Marginal prices (display only)

The marginal price of side ii is the partial derivative: pi=Cqip_i = \frac{\partial C}{\partial q_i} For binary LS-LMSR, the gradient includes an extra α\alpha term because bb depends on qq. In scale-free coordinates u=qmax/Tu = q_{\max}/T and w=ed/bw = e^{-d/b}: pmax=u+g+(1u)1w1+w,pmin=u+gu1w1+wp_{\max} = u + g + (1-u)\frac{1-w}{1+w}, \qquad p_{\min} = u + g - u\frac{1-w}{1+w} where g=αln(1+w)g = \alpha \ln(1+w). Properties: pyes+pno=1+v(q)1p_{\text{yes}} + p_{\text{no}} = 1 + v(q) \geq 1 The excess v(q)0v(q) \geq 0 is embedded vig, it accrues to pool NAV, not a separate skim. At heavy skew the favorite’s raw marginal price can exceed $1; charts clamp display to (0,1)(0,1) but trades still use ΔC\Delta C.

Implied fair probability

When a maker seeds at “60¢ YES”, that means the vig-free softmax probability, not the vig-inclusive marginal: σyes=eqyes/beqyes/b+eqno/b=11+e(qyesqno)/b\sigma_{\text{yes}} = \frac{e^{q_{\text{yes}}/b}}{e^{q_{\text{yes}}/b} + e^{q_{\text{no}}/b}} = \frac{1}{1 + e^{-(q_{\text{yes}} - q_{\text{no}})/b}} This σ\sigma is what “60% odds” means in the authoring UI. Raw marginals pip_i sit at or above σi\sigma_i ,the spread is the rule’s built-in margin.

Seeding at chosen odds

At pool creation the maker supplies seed USDC SS and declared probability pp^* (in basis points). The program derives initial (qyes,qno)(q_{\text{yes}}, q_{\text{no}}) so that:
  1. σyesp\sigma_{\text{yes}} \approx p^* (within one price tick), and
  2. Worst-case loss is bounded by the seed.
Let P=max(p,1p)P = \max(p^*, 1-p^*), logit L=ln ⁣(P/(1P))L = \ln\!\big(P/(1-P)\big), and ρ=(1P)/P\rho = (1-P)/P. Define: K=L+ln(1+ρ),T=SαKK = L + \ln(1+\rho), \qquad T = \frac{S}{\alpha K} Then assign total quantity TT across sides with skew αTL=qmaxqmin\alpha T L = q_{\max} - q_{\min}, putting qmaxq_{\max} on YES when p12p^* \geq \tfrac{1}{2}. The worst-case loss at the seed state is: WCL(q0)=C(q0)min(qyes,0,qno,0)=αTln ⁣11PS\text{WCL}(q_0) = C(q_0) - \min(q_{\text{yes},0}, q_{\text{no},0}) = \alpha T \ln\!\frac{1}{1-P} \leq S That is why seed USDC is the maker’s collateral against subsidy**.** Which is vital because unlike token creators that do no renounce their LP, this prediction market pool cannot lose more than the seed in the adversarial orthant bound.

Liquidity

Makers seed initial liquidity when publishing a market. The pool holds balanced YES/NO reserves. LP providers earn swap fees from every trade regardless of who wins the market.
If you remove liquidity after a market resolves, tokens on the losing side are worthless. The UI warns before LP exit on resolved markets.

Price display

On market and event pages you see:
  • Current price - best available AMM price for each side
  • Trade preview - stake, fees, shares received, and potential payout before you confirm
  • Charts - price history where available (sports and crypto events)

CLOB pricing (future)

Order-book markets will show bid/ask spreads and depth instead of AMM curves. CLOB trading is not available to players yet. See Venues.