CCXT for prediction markets. PMXT is a unified API for trading on Polymarket, Kalshi, and more.
TypeScript · active 2026-01-16 → 2026-08-06 (UTC)
Activity over time
Daily event counts in the loaded window
Line chart, 203 days from 2026-01-16 to 2026-08-06. Pushes: 553 total, peak 55 in a day. Pull requests: 30 total, peak 9 in a day. Issues: 487 total, peak 94 in a day. Comments: 47 total, peak 5 in a day. Stars: 385 total, peak 63 in a day.
- Pushes
- Pull requests
- Issues
- Comments
- Stars
Stars, PRs, issues and forks are under-captured in the later part of this window. GH Archive progressively stopped capturing non-push events during 2026 — −95% or worse by the end of the window. Every series here except Pushes fades for that reason, so a decline above reflects the archive, not this repository. Pushes stay reliable throughout, so read them, and the contributor counts derived from them, as the real signal. Data health has the measurements.
Top contributors
Pushes, PRs, issues, reviews and comments — stars and forks excluded, so this is contribution rather than popularity
| Contributor | Contributions | Pushes | PRs | Comments |
|---|---|---|---|---|
| realfishsam | 972 | 446 | 16 | 32 |
| github-actions[bot] | 107 | 107 | 0 | 0 |
| 0xharryriddle | 6 | 0 | 3 | 3 |
| ndmeiri | 5 | 0 | 2 | 2 |
| lundgrenolof | 4 | 0 | 0 | 2 |
| ivanpapazov1 | 2 | 0 | 0 | 1 |
| Amitk003 | 2 | 0 | 1 | 1 |
| bolivian-peru | 2 | 0 | 1 | 0 |
| ajitalapati | 2 | 0 | 1 | 1 |
| sagar-shaw-bits | 1 | 0 | 0 | 1 |
| bartfer | 1 | 0 | 0 | 1 |
| PeterWanjihia | 1 | 0 | 0 | 1 |
| AbhilashG12 | 1 | 0 | 1 | 0 |
| mintlify[bot] | 1 | 0 | 0 | 1 |
| Adedamola18 | 1 | 0 | 0 | 0 |
| TimeOpener | 1 | 0 | 0 | 0 |
| alexandretrotel | 1 | 0 | 0 | 0 |
| elpou88 | 1 | 0 | 1 | 0 |
| Bortlesboat | 1 | 0 | 1 | 0 |
| Aboudjem | 1 | 0 | 1 | 0 |
Recent activity
Latest issues, pull requests and releases
- Issue#1986realfishsam2026-08-06 21:39docs/concepts/unified-schema.mdx documents a nonexistent type UnifiedOutcome — actual name everywhere is MarketOutcome
- Issue comment#1804realfishsam2026-08-06 21:23Python SDK's NotSupported error class isn't exported from the top-level package, unlike the TypeScript SDK
- Issue comment#1623realfishsam2026-08-01 21:15Spec drift: baozi — UserPosition on-chain struct has grown; parser silently drops 3 new fields
- Issue#1880realfishsam2026-07-26 21:43spec-drift [hyperliquid] MEDIUM: spotMeta/meta responses now include 5 new asset-classification fields — baseAssetType, baseAssetSubType, quoteAssetType, quoteAssetSubType, displayName
- Issue#1877realfishsam2026-07-26 02:24spec-drift [gemini-titan] LOW: POST /v1/prediction-markets/orders/history from/to range formally documented July 21 2026 as epoch-ms half-open interval [from, to)
- Issue#1770realfishsam2026-07-19 22:15empty-catch: core/src/exchanges/probable/auth.ts:161 — silent catch collapses auth failures and network errors into the same "not verified" result in verifyL1
- Issue#1721realfishsam2026-07-19 21:40SDK drift: hosted `_hostedBuildOrderBody` never validates `side` for limit orders in TypeScript; Python validates `side` unconditionally
- Issue#1751realfishsam2026-07-19 21:39Response drift: myriad — myriad.exchange domain has lapsed, adapter is non-functional, venue may have shut down
- Issue#1699realfishsam2026-07-17 21:39SDK drift: `fetchArbitrage`/`fetch_arbitrage` — explicit-null `marketA`/`marketB` produce different types (object vs `None`)
- Issue#1698realfishsam2026-07-17 21:39SDK drift: `relation`/`confidence` explicit-null coercion differs across `parseMatchResult`/`compareMarketPrices`/`fetchHedges`
- Issue#1671realfishsam2026-07-15 21:39`has` capability map is completely unreachable/non-functional in both SDKs, not just untyped or missing
- Issue#1624realfishsam2026-07-12 21:39Spec drift: baozi — RaceMarket struct has 3 new trailing fields; boolean Market also missing dust_swept
- Issue#1621realfishsam2026-07-12 21:38SDK drift: documented `local_port`/`localPort` constructor option and `PMXT_LOCAL_PORT` env var are unimplemented in both SDKs
- Issue#1564realfishsam2026-07-10 21:38SDK drift: Python exports a public, data-driven `HOSTED_ERROR_PATTERNS` dispatch table with no TypeScript equivalent
- Issue#1548realfishsam2026-07-06 03:12HIGH: pyjwt@2.7.0 — Weak encryption, disputed by supplier, no fix version (CVE-2025-45768 / GHSA-xpf8-484v-j9w6)
- Issue#1520realfishsam2026-07-05 03:16Response drift: limitless — fetchOHLCV sends `fidelity` query param but API expects `interval`
- Issue#1520realfishsam2026-07-05 03:16Response drift: limitless — fetchOHLCV sends `fidelity` query param but API expects `interval`
- Issue#1513realfishsam2026-07-04 21:38SDK drift: `ServerManager.DEFAULT_PORT` is private in TypeScript but a public class attribute in Python
- Issue#1513realfishsam2026-07-04 21:38SDK drift: `ServerManager.DEFAULT_PORT` is private in TypeScript but a public class attribute in Python
- Issue#1503realfishsam2026-07-03 21:37SDK drift: SOR order result is passed through raw from the server in TypeScript but hand-assembled with hardcoded/lossy fields in Python
- Issue#1454realfishsam2026-07-02 15:48SDK drift: `PriceFilter.outcome` is required in TypeScript's price filter but optional in Python's TypedDict
- Issue#1396realfishsam2026-07-01 21:38Sidecar dispatch gate ignores `walletAddress`-only credentials — SuiBets and Hunch always fall back to unauthenticated exchange
- Issue#1396realfishsam2026-07-01 21:38Sidecar dispatch gate ignores `walletAddress`-only credentials — SuiBets and Hunch always fall back to unauthenticated exchange
- Issue#1444realfishsam2026-07-01 21:12SDK drift: `ENV_BASE_URL`/`ENV_API_KEY` flat constants exported from Python package root; TypeScript only exports the namespaced `ENV` object
- Issue comment#1347realfishsam2026-07-01 21:12Spec drift: myriad — CLOB order endpoints and `/markets/{id}/orderbook` entirely absent from spec; fetcher bypasses spec for orderbook
Totals cover only the window loaded into ClickHouse and count events, not GitHub's lifetime totals — 385 stars here means stars gained during the window, not the repo's star count.