Basis Point Pricing
All prices in the PMX orderbook are expressed in basis points (bps), where 10,000 bps = $1.00 USDC.| bps | USD Price | Implied Probability |
|---|---|---|
| 100 | $0.01 | 1% |
| 2500 | $0.25 | 25% |
| 5000 | $0.50 | 50% |
| 7500 | $0.75 | 75% |
| 9900 | $0.99 | 99% |
Converting bps to dollars
Converting dollars to bps
Raw Token Amounts
All token and USDC quantities use raw units with 6 decimal places (matching the SPL Token standard on Solana).| Human Amount | Raw Units | Field Value |
|---|---|---|
| 1 token | 1,000,000 | "1000000" |
| 0.5 tokens | 500,000 | "500000" |
| $1.00 USDC | 1,000,000 | "1000000" |
| $100 USDC | 100,000,000 | "100000000" |
Converting human amounts to raw
Converting raw to human amounts
Computing Committed Amount
When you place a buy order, USDC is locked (committed) based on the order price and quantity:JavaScript example
Computing Market Prices
You can derive useful pricing information from the orderbook endpoint and the market endpoint.Best Bid & Ask
Available directly fromGET /markets/{marketId} or the best_bid_ask WebSocket event:
Midpoint Price
The midpoint is the average of the best bid and best ask:Spread
The spread is the difference between the best ask and best bid:Last Trade Price
Available fromGET /markets/{marketId}:
Complementary Pricing
In a binary market, YES and NO prices are linked. WhenyesPriceBps + noPriceBps >= 10000, complementary matching occurs.
| YES Price | NO Price | Sum | Complementary? |
|---|---|---|---|
| 5500 | 4500 | 10000 | Yes (exact) |
| 6000 | 4200 | 10200 | Yes (200 bps surplus) |
| 5500 | 4000 | 9500 | No (500 bps gap) |
Minimum Order Requirements
| Requirement | Value |
|---|---|
| Minimum quantity | 1,000,000 raw (1 token) |
| Minimum notional | 10,000 raw ($0.01 USDC) |
quantity * priceBps / 10000. Both minimums must be met for an order to be accepted (market orders are exempt from the notional minimum).