PMX • Public Market Data API
A dedicated, rate-limited API surface that exposes market metadata, trading activity, and liquidity snapshots for bots, dashboards, and analytics teams. No authentication tokens required—just hit the endpoints.
https://api.pmx.trade/v1All endpoints respond with `success: boolean, data: any, meta?: object`. Errors include `success: false, error, details?`.
Discover and inspect prediction market metadata and metrics.
/marketsList markets with search, filtering, and sorting.
Query Parameters
Example
GET https://api.pmx.trade/v1/markets?status=active&sort=-volume_24h_usd&limit=25/markets/{slug}Detailed market payload with option metadata and aggregate metrics.
Query Parameters
Example
GET https://api.pmx.trade/v1/markets/nba-lakers-vs-grizzlies-20251030?include=liquidity,tradesRecent executions and market-specific trade feeds.
/tradesGlobal trade feed (most recent first).
Query Parameters
Example
GET https://api.pmx.trade/v1/trades?market=will-btc-reach-100k&limit=100/markets/{slug}/tradesShortcut alias for a single market's recent trades.
Query Parameters
Example
GET https://api.pmx.trade/v1/markets/will-cpi-print-under-3-202512/trades?limit=50LP composition and contributions per market.
/liquidity/{slug}Aggregated liquidity stats plus top providers.
Query Parameters
Example
GET https://api.pmx.trade/v1/liquidity/nba-lakers-vs-grizzlies-20251030High-level platform metrics useful for dashboards.
/stats/summaryTotals for markets, volume, unique traders, and liquidity.
Example
GET https://api.pmx.trade/v1/stats/summary`GET /v1/markets/:slug` responds with a detailed market object, option breakdown, and optional trades/liquidity arrays when requested via the `include` parameter.
{
"success": true,
"data": {
"market": {
"slug": "nba-lakers-vs-grizzlies-20251030",
"name": "NBA - Lakers vs Grizzlies (Oct 30)",
"status": "active",
"endDate": "2025-10-30T23:59:00Z",
"tags": ["sports", "sports-nba"],
"metrics": {
"totalVolumeUsd": 182430.14,
"volume24hUsd": 24892.02,
"uniqueTraders": 316,
"lpCount": 42,
"netLiquidity": 68321.77
}
},
"options": [
{
"option": "YES",
"tokenMint": "6cRxPNePe2MLXDpUCsPDGVsny1a4yT6Kmk62eVvDqXg6",
"poolAddress": "7hnUmDpJ4cQguDYCG1DP82NNumdhmSN3KbXrroMrvgae",
"label": "Yes",
"ticker": "YES",
"lastTradePrice": 0.00532,
"lastOddsPercent": 53.2,
"priceScale": 0.001,
"lastTradeAt": "2025-11-02T09:57:40.206Z"
},
{
"option": "NO",
"tokenMint": "AGqL5amTJVH2sfSLaNESN4bSeZQnZCbR8zoQ4ue3hsMM",
"poolAddress": "CawraC5o7XPp5oxZ2Grj8hXrKaesJwvrrHxFx8BKsx4z",
"label": "No",
"ticker": "NO",
"lastTradePrice": 0.00468,
"lastOddsPercent": 46.8,
"priceScale": 0.001,
"lastTradeAt": "2025-11-02T09:57:34.890Z"
}
]
}
}Need to place orders programmatically? Check the script at public-api/examples/jupiter-market-order.js for a step-by-step Jupiter quote + swap workflow. It prints the serialized transaction you can sign using your preferred Solana client.