CCXT for prediction markets. PMXT is a unified API for trading on Polymarket, Kalshi, and more.
CCXT for prediction markets. PMXT is a unified API for trading on Polymarket, Kalshi, and more.
The ccxt for prediction markets. Hosted unified API for prediction-market data and supported hosted trading — Polymarket, Opinion, and Limitless writes today. Open-source SDKs and a self-host option for venue-native credentials included.
Polymarket Polymarket US Kalshi Limitless Baozi Myriad Opinion Metaculus Smarkets Hyperliquid Gemini Titan SuiBets Rain Hunch
Different prediction market platforms have different APIs, data formats, and conventions. pmxt provides a single, consistent interface to work with all of them.
dome-to-pmxt) for teams migrating after the Polymarket acquisition.Ensure that Node.js (>= 18) is installed and the node command is available on your PATH. The Python SDK requires Python >= 3.8.
pip install pmxtnpm install pmxtjsnpm install -g @pmxt/cli
pmxt polymarket markets --query Trump --limit 5
pmxt polymarket fetchMarkets --query Trump --limit 5
pmxt auth statusgit clone https://github.com/pmxt-dev/pmxt.git
cd pmxt
npm install
npm run devnpx -y @pmxt/mcpSee @pmxt/mcp for setup with Claude, Cursor, and other MCP-compatible clients.
If you're currently using Dome API, pmxt is a drop-in replacement for DomeAPI's Polymarket/Kalshi workflows and also exposes PMXT's broader supported venue catalog where current capabilities exist.
Check out pmxt as a Dome API alternative for a detailed migration guide, API comparison, and automatic codemod tool (dome-to-pmxt) to help you transition your code.
# Automatically migrate your codebase
npx dome-to-pmxt ./srcGet your API key at pmxt.dev/dashboard. For reads, only pmxt_api_key and wallet_address are required. For trading, also pass private_key — the SDK auto-wraps it into an EIP-712 signer.
…Import style: Use named imports such as
import { Polymarket } from "pmxtjs"for direct classes, orimport pmxt from "pmxtjs"for the namespaced form.
…Prediction markets are structured in a hierarchy to group related information.
pmxt supports unified trading where venues expose writes. Hosted trading is the default for supported hosted venues; self-host when you need raw venue credentials or another venue's write API.
With a PMXT API key, you only need your wallet address and a private key to sign orders. PMXT handles custody, signer infrastructure, and on-chain settlement.
…Use this when you self-host the local server. See Self-hosted for setup. You provide venue credentials directly — no pmxt_api_key required. For detailed credential setup instructions, see the exchange-specific guides: Polymarket, Kalshi, Limitless.
import os
import pmxt
exchange = pmxt.Polymarket(
private_key=os.getenv('POLYMARKET_PRIVATE_KEY'),
proxy_address=os.getenv('POLYMARKET_PROXY_ADDRESS'), # Optional: For proxy trading
signature_type='gnosis-safe' # Default
)import os
import pmxt
exchange = pmxt.Kalshi(
api_key=os.getenv('KALSHI_API_KEY'),
private_key=os.getenv('KALSHI_PRIVATE_KEY') # RSA Private Key
)import os
import pmxt
exchange = pmxt.Limitless(
api_key=os.getenv('LIMITLESS_API_KEY'),
private_key=os.getenv('LIMITLESS_PRIVATE_KEY') # For order signing (EIP-712)
)To self-host pmxt-core on your own machine: pip install pmxt-core (Python) or npm install pmxt-core (Node.js), then construct any venue client without pmxt_api_key. The SDK spawns a local PMXT service; you supply venue credentials directly. See the self-hosted guide for details.
See the API Reference for detailed documentation and more examples.
Check out the directory for more use cases:
No open issues yet, or sync has not completed.