Overview
PMX uses a Conditional Token Framework (CTF) inspired by Polymarket. This model ensures the market is always 100% collateralized and provides a clean mechanism for trading binary outcomes. For any binary prediction market (e.g., “Will X happen?”), there are exactly two outcomes: YES and NO. The CTF model represents these as Token-2022 tokens with the Market PDA as a permanent delegate:- 1 YES token = Pays $1 USDC if the outcome is YES, $0 if NO
- 1 NO token = Pays $1 USDC if the outcome is NO, $0 if YES
1 YES + 1 NO = $1 USDC (always). This invariant is the foundation of the entire system.
Split: Creating Outcome Tokens
Users split collateral (USDC) into outcome tokens via an on-chain instruction:- Splitting USDC (creates both YES and NO)
- Buying YES tokens from another user on the orderbook
Merge: Reclaiming Collateral
Users merge outcome tokens back into collateral:Redeem: After Market Resolution
When a market is resolved, winning tokens can be redeemed for $1 USDC each:Price Discovery
On the orderbook, users trade outcome tokens against USDC. Prices are quoted in basis points (bps) where 10,000 bps = $1.00:| Price (bps) | Price ($) | Implied Probability |
|---|---|---|
| 6,000 | $0.60 | 60% |
| 5,000 | $0.50 | 50% |
| 8,500 | $0.85 | 85% |
Trading Example
Scenario: Alice thinks “Will Bitcoin hit $100K by EOY?” is 70% likely. Current YES price is $0.60.Complementary Matching
The engine supports two additional matching modes beyond direct (buy vs sell):Complementary (Buy YES + Buy NO)
When a Buy YES order and a Buy NO order have prices that sum to ≥ $1.00, they can be matched:Sell Complementary (Sell YES + Sell NO)
When a Sell YES order and a Sell NO order have prices that sum to ≤ $1.00, they can be matched:Why This Model?
Always Fully Collateralized
Every YES + NO pair is backed by exactly 1 USDC. Zero counterparty risk.
No Market Maker Required
Users split/merge to create liquidity. The platform doesn’t need to provide tokens.
Clean UX
Users think in “buy YES” or “sell YES” without understanding the underlying mechanics.
Arbitrage-Free
If YES + NO prices drift from $1, arbitrageurs profit by correcting it.
Program Instructions Summary
| Instruction | What It Does | Token Flow |
|---|---|---|
split | USDC → YES + NO | USDC from wallet → vault; YES + NO minted to user |
merge | YES + NO → USDC | YES + NO burned; USDC from vault → user |
settle_fill | Direct buy/sell match | USDC: buyer → seller; tokens: seller → buyer |
settle_complementary | Buy YES + Buy NO match | USDC: both buyers → vault; tokens minted to each buyer |
settle_sell_complementary | Sell YES + Sell NO match | Tokens burned from both sellers; USDC: vault → both sellers |
redeem | Winning tokens → USDC | Winning tokens burned; USDC from vault → user |
