This document details the feature support and compliance status for each exchange. PMXT enforces a strict compliance standard to ensure protocol consistency across all implementations.
| Category | Function | Polymarket | Kalshi | Limitless | Probable | Baozi | Myriad | Opinion | Metaculus |
|---|---|---|---|---|---|---|---|---|---|
| Market Data | fetchMarkets |
Y | Y | Y | Y | Y | Y | Y | Y |
fetchEvents |
Y | Y | Y | Y | Y | Y | Y | Y | |
fetchMarket |
Y | Y | Y | Y | Y | Y | Y | Y | |
fetchEvent |
Y | Y | Y | Y | Y | Y | Y | Y | |
| Public Data | fetchOHLCV |
Y | Y | Y | Y | Y | Y | Y | - |
fetchOrderBook |
Y | Y | Y | Y | Y | Y | Y | - | |
fetchTrades |
Y | Y | Y | Y | Y | Y | - | - | |
| Private Data | fetchBalance |
Y | Y | Y | Y | Y | Y | - | - |
fetchPositions |
Y | Y | Y | Y | Y | Y | Y | - | |
fetchMyTrades |
Y | Y | Y | Y | - | Y | Y | - | |
| Trading | createOrder |
Y | Y | Y | Y | Y | Y | Y | - |
cancelOrder |
Y | Y | Y | Y | Y | - | Y | - | |
fetchOrder |
Y | Y | Y | Y | Y | - | Y | - | |
fetchOpenOrders |
Y | Y | Y | Y | Y | Y | Y | - | |
fetchClosedOrders |
- | Y | Y | - | - | - | Y | - | |
fetchAllOrders |
- | Y | Y | - | - | - | Y | - | |
| Calculations | getExecutionPrice |
Y | Y | Y | Y | Y | Y | Y | - |
getExecutionPriceDetailed |
Y | Y | Y | Y | Y | Y | Y | - | |
| Real-time | watchOrderBook |
Y | Y | Y | Y | Y | Y | Y | - |
watchTrades |
Y | Y | Y | - | - | Y | Y | - |
- Y - Supported
- - - Not supported
- Failure over Warning: Tests must fail if no relevant data (markets, events, candles) is found. This ensures that we catch API breakages or unexpected empty responses.
requires a dotenv in the root dir with
POLYMARKET_PRIVATE_KEY=0x...
# Kalshi
KALSHI_API_KEY=...
KALSHI_PRIVATE_KEY=... (RSA Private Key)
# Limitless
LIMITLESS_PRIVATE_KEY=0x...
# Myriad
MYRIAD_API_KEY=...
MYRIAD_WALLET_ADDRESS=0x...
# Metaculus (required for API access — unauthenticated requests return 403)
METACULUS_API_TOKEN=...