# PMXT > One API for every prediction market. Unified data, cross-venue search, and trading across Polymarket, Kalshi, Limitless, Smarkets, and 8 more venues. Docs: https://pmxt.dev/docs API Base: https://api.pmxt.dev Dashboard: https://pmxt.dev/dashboard GitHub: https://github.com/pmxt-dev/pmxt ## Pages - [Introduction](https://pmxt.dev/docs/introduction): One API for every prediction market. Unified data, cross-venue search, and trading. - [Quickstart](https://pmxt.dev/docs/quickstart): API key to working code in 30 seconds. - [Authentication](https://pmxt.dev/docs/authentication): API keys, SDK setup, and venue credentials. - [MCP Server](https://pmxt.dev/docs/mcp): Give AI assistants access to prediction markets via the Model Context Protocol. - [Security & Credential Handling](https://pmxt.dev/docs/security): How PMXT handles your venue credentials, what risks to understand, and how to protect yourself. - [Rate Limits](https://pmxt.dev/docs/rate-limits): How much traffic your API key gives you. - [SQL](https://pmxt.dev/docs/sql): Query raw tick-level orderbook history with SQL. - [Unified Schema](https://pmxt.dev/docs/concepts/unified-schema): One shape for events, markets, and outcomes — across every venue. - [Catalog vs Live](https://pmxt.dev/docs/concepts/catalog-vs-live): Reads from Postgres, writes to the venue. How the hosted backend chooses. - [Supported Venues](https://pmxt.dev/docs/concepts/venues): Every venue PMXT currently speaks. - [Server Management](https://pmxt.dev/docs/sdk/server): Start, stop, restart, and inspect the PMXT local server from your SDK code. - [What is the Router?](https://pmxt.dev/docs/router/overview): One API key. Every prediction market. Cross-venue search, matching, and price comparison. - [Search Events](https://pmxt.dev/docs/router/events): Search events across every venue in a single query. - [Search Markets](https://pmxt.dev/docs/router/markets): Search markets across every venue in a single query. - [Find Similar Events](https://pmxt.dev/docs/router/event-matching): Discover cross-venue event clusters and the markets inside each matched event. - [Find Similar Markets](https://pmxt.dev/docs/router/matching): Discover cross-venue market clusters with relation types, confidence scores, and source markets. - [Compare Prices Across Venues](https://pmxt.dev/docs/router/prices): Compare prices across venues and find related markets. - [Overview](https://pmxt.dev/docs/api-reference/overview): The full venue pass-through surface — auto-generated from pmxt-core. - [Server Health Check](https://pmxt.dev/docs/api-reference/healthCheck) - [Load Markets](https://pmxt.dev/docs/api-reference/loadMarkets): Load and cache all markets from the exchange into `this.markets` and `this.marketsBySlug`. Subsequent calls return the cached result without hitting the API again. This is the correct way to paginate or iterate over markets without drift. Because `fetchMarkets()` always hits the API, repeated calls with different `offset` values may return inconsistent results if the exchange reorders or adds markets between requests. Use `loadMarkets()` once to get a stable snapshot, then paginate over `Object.values(exchange.markets)` locally. - [Close](https://pmxt.dev/docs/api-reference/close): Close all WebSocket connections and clean up resources. Call this when you're done streaming to properly release connections. - [Fetch Events](https://pmxt.dev/docs/api-reference/fetch-events) - [Fetch Events Paginated](https://pmxt.dev/docs/api-reference/fetchEventsPaginated): Paginated variant of {@link fetchEvents}. On the first call (no `cursor`), all events are fetched from the exchange and cached in an in-memory snapshot. A cursor is returned along with the first page. Subsequent calls with that cursor serve additional pages directly from the cached snapshot -- no additional API calls are made. The snapshot is invalidated after `snapshotTTL` ms (configured via `ExchangeOptions` in the constructor). A request using a cursor from an expired snapshot throws `'Cursor has expired'`. - [Fetch Event](https://pmxt.dev/docs/api-reference/fetch-event) - [Fetch Markets](https://pmxt.dev/docs/api-reference/fetch-markets) - [Fetch Markets Paginated](https://pmxt.dev/docs/api-reference/fetchMarketsPaginated): Fetch markets with cursor-based pagination backed by a stable in-memory snapshot. On the first call (or when no cursor is supplied), fetches all markets once and caches them. Subsequent calls with a cursor returned from a previous call slice directly from the cached snapshot — no additional API calls are made. The snapshot is invalidated after `snapshotTTL` ms (configured via `ExchangeOptions` in the constructor). A request using a cursor from an expired snapshot throws `'Cursor has expired'`. - [Fetch Market](https://pmxt.dev/docs/api-reference/fetch-market) - [Fetch matched event clusters](https://pmxt.dev/docs/api-reference/getV0Matched-event-clusters): Returns connected clusters of semantically matched events across venues. Use this endpoint to browse or anchor event-level matches while preserving each venue's child markets. - [Fetch matched market clusters](https://pmxt.dev/docs/api-reference/getV0Matched-market-clusters): Returns connected clusters of semantically matched markets across venues. Use this endpoint to browse or anchor market-level matches without flattening the response into pairwise rows. - [Fetch OHLCV](https://pmxt.dev/docs/api-reference/fetch-ohlcv) - [Fetch Order Book](https://pmxt.dev/docs/api-reference/fetch-order-book) - [Fetch Order Books](https://pmxt.dev/docs/api-reference/fetchOrderBooks): Batch variant of {@link fetchOrderBook}. Fetches order books for multiple outcomes in a single request where the exchange supports it. - [Fetch Trades](https://pmxt.dev/docs/api-reference/fetchTrades): Fetch raw trade history for a specific outcome. - [Get Execution Price](https://pmxt.dev/docs/api-reference/getExecutionPrice): Calculate the volume-weighted average execution price for a given order size. Returns 0 if the order cannot be fully filled. - [Get Execution Price Detailed](https://pmxt.dev/docs/api-reference/getExecutionPriceDetailed): Calculate detailed execution price information including partial fill data. - [Create Order](https://pmxt.dev/docs/api-reference/createOrder): Place a new order on the exchange. - [Build Order](https://pmxt.dev/docs/api-reference/buildOrder): Build an order payload without submitting it to the exchange. Returns the exchange-native signed order or request body for inspection, forwarding through a middleware layer, or deferred submission via submitOrder(). - [Submit Order](https://pmxt.dev/docs/api-reference/submitOrder): Submit a pre-built order returned by buildOrder(). - [Cancel Order](https://pmxt.dev/docs/api-reference/cancelOrder): Cancel an existing open order. - [Fetch Order](https://pmxt.dev/docs/api-reference/fetchOrder): Fetch a specific order by ID. - [Fetch Open Orders](https://pmxt.dev/docs/api-reference/fetchOpenOrders): Fetch all open orders, optionally filtered by market. - [Fetch My Trades](https://pmxt.dev/docs/api-reference/fetchMyTrades) - [Fetch Closed Orders](https://pmxt.dev/docs/api-reference/fetchClosedOrders) - [Fetch All Orders](https://pmxt.dev/docs/api-reference/fetchAllOrders) - [Fetch Positions](https://pmxt.dev/docs/api-reference/fetchPositions): Fetch current user positions across all markets. - [Fetch Balance](https://pmxt.dev/docs/api-reference/fetchBalance): Fetch account balances. - [WebSocket Overview](https://pmxt.dev/docs/api-reference/websocket): Real-time orderbook and trade streaming via WebSocket - [watchAllOrderBooks](https://pmxt.dev/docs/api-reference/watch-all-order-books): Stream live orderbook updates across one venue or all venues via WebSocket - [watchOrderBook](https://pmxt.dev/docs/api-reference/watch-order-book): Stream real-time orderbook updates for a single outcome via WebSocket - [watchOrderBooks](https://pmxt.dev/docs/api-reference/watch-order-books): Stream real-time orderbook updates for multiple outcomes via WebSocket - [watchTrades](https://pmxt.dev/docs/api-reference/watch-trades): Stream real-time trade updates for a single outcome via WebSocket - [List Available Feeds](https://pmxt.dev/docs/api-reference/feedList): Returns the list of available data feed providers. - [Load Feed Markets](https://pmxt.dev/docs/api-reference/feedLoadMarkets): Returns all trading pairs supported by this feed. - [Fetch Ticker](https://pmxt.dev/docs/api-reference/feedFetchTicker): Returns the latest ticker for a single symbol. - [Fetch Tickers](https://pmxt.dev/docs/api-reference/feedFetchTickers): Returns the latest tickers for all symbols, or a filtered subset. - [Fetch OHLCV](https://pmxt.dev/docs/api-reference/feedFetchOHLCV): Returns OHLCV candle data for a symbol. - [Fetch Order Book](https://pmxt.dev/docs/api-reference/feedFetchOrderBook): Returns the current order book for a symbol (where supported). - [Watch Ticker (WebSocket)](https://pmxt.dev/docs/api-reference/feedWatchTicker): Stream live ticker updates for a symbol via WebSocket. - [Fetch Oracle Round](https://pmxt.dev/docs/api-reference/feedFetchOracleRound): Returns the latest Chainlink oracle round for a price feed. - [Fetch Oracle History](https://pmxt.dev/docs/api-reference/feedFetchOracleHistory): Returns historical Chainlink oracle rounds for a price feed. - [Fetch Historical Prices](https://pmxt.dev/docs/api-reference/feedFetchHistoricalPrices): Returns historical price data as tickers within a time range. - [Fetch Series](https://pmxt.dev/docs/api-reference/fetchSeries): Fetch the recurring series (fourth tier above Event -> Market -> Outcome) that this venue exposes. Returns an empty array on venues without a series concept (Limitless, Smarkets, Probable, Metaculus, Baozi, Hyperliquid, SuiBets, Polymarket US). - `params.id` -> a single matching series with its events populated where supported. - no params -> the full list, typically without nested events for payload size. - [SQL](https://pmxt.dev/docs/sql): Query raw tick-level orderbook history with SQL. - [Execute a read-only SQL query against ClickHouse](https://pmxt.dev/docs/api-reference/postV0Sql) ## Full documentation See [llms-full.txt](https://pmxt.dev/docs/llms-full.txt) for the complete documentation.