Determinism.fun pm-AMM calculator
Prediction Market Automated Market Maker with correct invariant implementation
Pool Configuration
Initial price is always P = 0.5 (balanced pool)
Execute Trade
Trade History
No trades yet. Execute a trade to see results here.
How PM-AMM Works
PM-AMM (Prediction Market AMM) uses the normal distribution to create a smooth bonding curve for prediction markets. The invariant equation ensures that trades maintain a specific mathematical relationship between reserves.
The Invariant: (y - x) · Φ((y - x)/L) + L · φ((y - x)/L) = y must hold after every trade. This is solved using Newton-Raphson iteration to find new reserve amounts.
Liquidity (L): Controls the curve shape. Higher L provides more liquidity and smoother prices. Lower L makes prices more sensitive to trades.
Implied Price: The probability P = Φ((y - x)/L) represents the market's implied probability of the outcome.
Trade Types:
- Sell X for Y: Input amount of X, receive Y based on invariant
- Sell Y for X: Input amount of Y, receive X based on invariant
- Buy X with Y: Specify desired X output, calculate required Y input
- Buy Y with X: Specify desired Y output, calculate required X input
Learn More
This implementation is based on the research paper "pm-AMM: A Uniform AMM for Prediction Markets" by Ciamac Moallemi and Dan Robinson at Paradigm. The paper introduces a novel AMM optimized specifically for outcome tokens using the concept of uniform loss-vs-rebalancing (LVR).
Read the full paper: paradigm.xyz/2024/11/pm-amm