Guides · Mechanics
LMSR and AMM explained
Prediction markets need a way to quote prices even when nobody else is trading. Two algorithms solve this: LMSR and fixed-product AMMs. Here's how each one works, in plain English.
Why you need a market maker
A traditional order book matches buyers and sellers. If nobody is offering to sell YES at a price you'd pay, you can't trade. For mature stocks with millions of daily trades that's fine. For "Will Mumbai Indians win IPL 2026?" opened a year before the final, it isn't.
Automated market makers solve this by always quoting a price. A smart contract holds reserves of YES and NO tokens and prices them based on a deterministic formula.
Fixed-product AMM (FPMM) — what Desipoly uses at launch
An FPMM holds reserves of YES (Y) and NO (N) tokens such that Y × N = k, a constant. To buy YES, you add NO (or collateral) to the pool and take YES out in a quantity that keeps the product at k.
- If there are 10,000 YES and 10,000 NO in the pool (k = 100,000,000), the price of YES is ~50¢.
- Buy 1,000 YES: reserves become 9,000 YES and ~11,111 NO (to keep k ≈ 100,000,000). Price of YES moves up.
- The more you buy, the more the price moves — the definition of slippage.
This is the same x*y=k formula Uniswap uses, adapted for prediction markets via the Gnosis Conditional Token Framework.
LMSR — Hanson's logarithmic market scoring rule
Proposed by Robin Hanson in 2002 and used by Augur, Gnosis Omen, and older Intrade-style systems. LMSR holds quantities q_YES and q_NO and prices each outcome using:
price(YES) = exp(q_YES / b) / (exp(q_YES / b) + exp(q_NO / b))
where b is the liquidity parameter. Larger b means smaller price impact per trade (more liquidity) at the cost of a larger worst-case subsidy by the market operator.
FPMM vs LMSR — the practical difference
| Feature | FPMM | LMSR |
|---|---|---|
| Liquidity model | Open LP pool (anyone can add) | Subsidized by operator |
| Worst-case loss | Bounded by LP deposits | b × ln(2) per market |
| LP returns | Trading fees minus IL | Operator-managed |
| Price stability | Moves with every trade | Smooth, bounded by b |
What's a CLOB?
A Central Limit Order Book matches human buy and sell orders at specific prices. Stock exchanges use CLOBs. Polymarket uses a CLOB with an LMSR fallback.
Desipoly's v1 roadmap is CLOB-primary with an LMSR-style sidecar for low-liquidity markets. At launch, we use a pure FPMM for simplicity and always-on pricing.
What does this mean for traders?
- On liquid markets, you'll rarely notice which algorithm is running. Slippage on a $100 trade is negligible.
- On thin markets, you'll notice real slippage — the estimate shown in the UI before confirming.
- Splitting a large order into smaller chunks, or waiting for counter-trades, can meaningfully reduce effective cost.
Impermanent loss for LPs
If you provide liquidity to an FPMM, your position can be worth less than the collateral you deposited if prices move sharply against your initial ratio — a phenomenon known as impermanent loss. Trading fees are meant to compensate LPs for this risk.
Liquidity provision is out of scope at launch; early Desipoly markets are seeded by the platform. LP programs are on the v1 roadmap.