SDKs & wrapperslibraryfree
Polymarket/py-sdk: what it does, what it costs, where it stops
Last checked 2026-09-08
Polymarket/py-sdk is the official unified Python SDK for Polymarket, published on PyPI as polymarket-client. It replaces the archived py-clob-client and the transitional py-clob-client-v2 with one interface across public data, authenticated account, trading, builder attribution and wallet workflows. The repo has 121 stars and was pushed on September 8, 2026.
It is for Python developers building services, notebooks, scripts and bots against Polymarket. The docs.polymarket.com Python page names it as the SDK to use.
What it does
Four client classes: PublicClient and AsyncPublicClient for public data, SecureClient and AsyncSecureClient for trading and account access. List methods return a paginator that iterates every page or fetches one page at a time. Models are typed.
Trading and wallet helpers go beyond order placement. The README shows batch position merges by condition ID, market ID or combo position ID, with an outcome handle you can wait on. Realtime subscriptions exist but are async-only because they rely on long-lived streams.
The test suite separates unit tests from opt-in integration tests, and any test that places orders or spends funds sits behind a metered marker (POLYMARKET_RUN_METERED_TESTS=1), so a contributor cannot spend real USDC by accident. The SDK does not load .env files at runtime; integration fixtures do.
- PyPI: polymarket-client 0.9.0 published September 4, 2026; 33 releases since the first on July 22, 2026.
- Requires Python 3.11 or newer.
- Semantic versioning on a 0.x line: minor releases may include breaking changes, with a stated aim to provide deprecation paths.
- All Perps APIs are marked experimental and may change in any release.
Pricing
Free and MIT licensed. Polymarket's API itself is free to call; trading fees are a venue matter, not an SDK one. Integration tests read credentials from a gitignored .env copied from .env.example, and existing environment variables take precedence.
Venues and data
Polymarket only. It wraps the CLOB, Gamma and Data APIs plus WebSocket streams behind one client, so you no longer choose a package per API. Polymarket US, the separate CFTC-regulated exchange, has its own SDK (Polymarket/polymarket-us-python) and is not covered here.
Where it falls short
It is young. First PyPI release was July 22, 2026, and 33 releases in seven weeks means the surface is still moving; the 0.x caveat about breaking minor versions is real. Perps support is experimental across client methods, sessions, stream subscriptions and models.
Python 3.11+ rules out older environments, and the realtime layer is async-only, so a synchronous script cannot subscribe to streams.
Who should use it
Anyone starting a new Polymarket integration in Python. The migration guide on docs.polymarket.com maps py-clob-client-v2 calls to the new client for existing code.
If you need Gamma, Data, Web3 and subgraph access in one community package with a longer track record, polymarket-apis is the alternative.
Questions about Polymarket/py-sdk
Is there an official Polymarket Python SDK?
Yes. Polymarket/py-sdk, installed as polymarket-client from PyPI, is the official unified Python SDK and is the one docs.polymarket.com recommends.
Is py-clob-client deprecated?
The original Polymarket/py-clob-client repo is archived. py-clob-client-v2 still publishes but its README recommends Polymarket/py-sdk for new projects.
Does polymarket-client support async?
Yes. AsyncPublicClient and AsyncSecureClient mirror the sync clients, and realtime subscriptions are async-only.
What Python version does polymarket-client need?
Python 3.11 or newer, per PyPI metadata.
Official APIs for building. One book for trading.
Rather trade the spread than build the plumbing? The free Kairos terminal gives you Kalshi, Polymarket and Predict.fun in one order book.