§1Why
Prediction markets need liquidity. Yet today, nearly all prediction-market liquidity sits on order books, not on automated market makers.
The reason is that outcome tokens don't behave like ordinary assets. A token that pays $1 if an event happens and $0 otherwise gets more volatile as the price nears 50% and as the deadline approaches. A constant-product pool (Uniswap-style) or Hanson's LMSR [3] provides liquidity that is badly matched to that behaviour: its liquidity providers bleed value unevenly, and they are all but guaranteed to lose everything at expiry.
In November 2024, Moallemi and Robinson at Paradigm derived an AMM designed for exactly this asset [1]. Using the loss-versus-rebalancing framework (LVR) [2], they define a uniform AMM: one whose expected losses to arbitrage are a constant fraction of the pool's value, regardless of the current price. For outcome tokens, that AMM is the pm-AMM.
Predict takes the paper off the page and puts it on Solana, as open infrastructure anyone can build on.
§2How it works
The model assumes the outcome is decided by whether some underlying score — a point difference, a vote margin, a price minus a strike — ends above zero. Under this Gaussian score dynamics model, the fair price of the YES token is
where Φ is the normal CDF. The static pm-AMM holds reserves x (YES) and y (NO) on the invariant
Its pool value is : liquidity is concentrated around 50% and withdrawn at the extremes, where a generic AMM would lose the most.
Static vs. dynamic
The static pm-AMM has uniform LVR across prices, but its losses still accelerate near expiry, when markets are most volatile. The dynamic pm-AMM withdraws liquidity over time to cancel that effect:
With this schedule, expected losses to arbitrage are constant over the life of the market, the expected pool value declines linearly, and LPs end with half of their initial wealth in expectation, rather than losing it all. On Predict, the withdrawn liquidity is released to LPs continuously as the market runs.
§3What's deployed
One Anchor program, 26 instructions, with USDC as collateral. The same program ID runs on devnet (for testing) and on mainnet.
| Program ID | GV1FMGHRYBjQLaghE5fnGuYCuCcpdt3GD5xEX3TwN16y |
|---|---|
| Collateral | USDC (mainnet) · mock USDC with a faucet (devnet) |
| Swap fee | 2% on the USDC leg · split 50% protocol / 50% market creator · YES↔NO swaps are free |
| Settlement | 1 winning token = 1 USDC, no fee · YES + NO can always be redeemed 1:1 for USDC |
| Solvency | Every swap is checked on-chain: the vault must always cover every outstanding winning token |
| Tests | 266 (Rust unit, TypeScript integration, Python reference oracle) |
Five market types
§4Build on it
The TypeScript SDK wraps all 26 instructions: typed reads, instruction builders, one-call helpers for the common path, and the pricing math with no chain dependency.
# install
pnpm add @pm-amm/sdk @solana/web3.js @anchor-lang/core @solana/spl-token
import { PmAmmClient } from "@pm-amm/sdk"; // create a market with $250 of starting liquidity const { marketPda } = await client.send.createMarket({ name: "Will BTC top $200k in 2026?", durationSecs: 7 * 86_400, initialPriceBps: 5000, // start at 50% YES depositUsdc: 250, }); // trade, provide liquidity, claim await client.send.swap(marketPda, "usdcToYes", 10_000_000, minOut); await client.send.depositLiquidity(marketPda, 100); await client.send.claimWinnings(marketPda);
Vibe-coding it
The repo is written to be read by coding agents. Open it, start Claude or Codex, and point it at CLAUDE.md and llms.txt, a dense reference of every signature, type and recipe. You can go from zero to a working market on devnet in one session.
- SDK quickstart (5 minutes)
- API reference: every instruction, account, argument and error
- @pm-amm/sdk on npm
- Reference app, with a devnet USDC faucet
§5Contribute & get credited
Every contributor with a merged pull request is listed as an author at the top of this page. That is the deal.
The engine is solid. What's missing is everything built on top of it. Good places to start:
- Resolution: oracle adapters, dispute windows, a permissionless fallback (see §7).
- Multi-outcome coherence: an off-chain keeper that keeps the outcome probabilities summing to 1.
- Apps: markets between friends, sports, live events, anything a pm-AMM can price.
- Tooling: indexers, analytics, LP dashboards, SDKs in other languages.
§6Objectives
- Become Solana's open base layer for prediction markets. One open engine that any front end, app or protocol can plug into, instead of every team rebuilding its own AMM.
- Grow builders, not a closed app. Predict succeeds when other people ship products on it, and when one of them takes the lead on the protocol.
- Hand the protocol to its community. Fees, treasury and roadmap governed by $PREDICT holders.
§7Limitations
Predict on mainnet is a trust-based proof of concept holding real money. These risks are known and accepted today. Each one is an open problem, and a good first contribution.
The resolution authority picks the winning outcome. There is no oracle, timelock or dispute process yet.
One key can upgrade the program. There is no multisig yet.
The math is tested against a Python reference implementation of the paper, and every swap runs an on-chain solvency check, but no external firm has audited the code.
The outcome probabilities are forced to sum to 1 only at seeding and at resolution. Between trades, that is left to arbitrage.
Also inherited from the model: the pm-AMM is optimal for markets that behave like a random walk (a basketball score, a vote margin), and less so for one-off surprises such as an earthquake happening before a date [1].
§8$PREDICT
$PREDICT is the governance token of the protocol, raised and governed through futarchy on Futard.io.
- The DAO owns the protocol's share of swap fees: 50% of every fee.
- Treasury and roadmap decisions go through decision markets.
Raise opens Monday 21 September, 18:00 CET. Cap: $10,000.
§9References
- C. Moallemi, D. Robinson. pm-AMM: A Uniform AMM for Prediction Markets. Paradigm, November 2024.
- J. Milionis, C. Moallemi, T. Roughgarden, A. L. Zhang. Automated Market Making and Loss-Versus-Rebalancing. arXiv:2208.06046, 2022.
- R. Hanson. Logarithmic Market Scoring Rules for Modular Combinatorial Information Aggregation. Journal of Prediction Markets, 2007.
- Predict contributors. pm-AMM on Solana: source code, SDK and API reference. MIT License.