Polymarket CLI

Polymarket's Rust command line - MIT in the manifest, with no LICENSE file in the repo.

by Polymarket

Last updated

US persons
Yes
Taker fee
None
Settlement
Crypto
Liquidity
CLOB

What it is

Polymarket's own command-line client for the on-chain exchange, written in Rust, installed as the binary polymarket, and built on the vendor's polymarket_client_sdk_v2 crate with the gamma, data, bridge, clob and ctf features switched on. It is the most-starred thing Polymarket publishes on GitHub — 2,878 stars and 356 forks on 20 September 2026 — and it covers more of the platform than any other first-party client does from one place.

Every command takes --output table or --output json, which is the point of the design: the README describes it as a terminal tool "or as a JSON API for scripts and agents", errors come back as {"error": "..."} on stdout in JSON mode with a non-zero exit either way, and there is an interactive polymarket shell with history for the times you are exploring rather than scripting.

What it reaches, by command group:

  • Discovery, against Gamma. markets list/get/search/tags, events list/get/tags, tags list/get/related, series, comments, profiles get and sports list/market-types/teams.
  • CLOB reads, no wallet. clob book, books, price, midpoint, spread and their batch forms, last-trade, price-history at 1m through max, market, markets, tick-size, fee-rate, neg-risk, time, ok — and clob geoblock, which asks the venue whether you are blocked rather than making you find out by failing.
  • Trading. clob create-order, market-order, post-orders, cancel, cancel-orders, cancel-market, cancel-all, orders, order, trades, balance and update-balance, with GTC, FOK, GTD and FAK order types and a --post-only flag.
  • Rewards and credentials. clob rewards, earnings, reward-percentages, order-scoring, api-keys, create-api-key, delete-api-key, account-status and notifications.
  • On-chain data for any address. data positions, closed-positions, value, traded, trades, activity, holders, open-interest, volume, and the trader and builder leaderboards.
  • The on-chain plumbing most clients leave to you. approve check and approve set for the ERC-20 and ERC-1155 allowances, ctf split, merge, redeem and redeem-neg-risk, the condition, collection and position id calculators, and bridge deposit for EVM, Solana and Bitcoin deposit addresses.

Availability

The binary imposes nothing. There is no licence key, no account, no identity check and no geographic gate in the tool, and the whole read surface works with no wallet configured. This card's us_persons and kyc_required flags describe the software.

The venue is another matter. Trading on the on-chain Polymarket is blocked for US persons — see polymarket and polymarket-clob-api for what that block is and what it is not. The CLI ships clob geoblock precisely because the answer depends on where you are and not on whether the code runs. For the US exchange, which is a separate entity with its own API and its own identity check, see polymarket-us; this tool does not speak to it.

Pricing

Nothing is charged for the tool. What a fill costs is the exchange's fee schedule and belongs on polymarket; on-chain operations additionally cost gas on Polygon, which the README says plainly next to approve set and the CTF commands.

The licence is the part of "free" that is not settled. Cargo.toml declares license = "MIT" and the README's last section reads MIT, but there is no LICENSE file in the repository at any commit or tag, GitHub's licence endpoint answers 404, and the repository's own metadata reports no detected licence. Two in-repo declarations by the copyright holder are a real grant and not silence, which is why this card records the software as open source — but the full MIT text is what carries the copyright notice and the warranty disclaimer, and MIT's single condition is that the notice travel with every copy. There is no notice in the repository to travel. If you are vendoring this, forking it, or putting it through a corporate review that reads SBOMs rather than manifests, that is the fact to take to your own counsel, and the cheapest fix is to ask the vendor to commit the file.

Markets & resolution

A client resolves nothing. Orders placed through it rest on the Polymarket CLOB and settle on Polygon against a UMA-decided outcome; who decides and how is a question about the venue and is answered on polymarket.

What this tool does expose, and few others do from one binary, is the settlement plumbing after the decision: ctf redeem claims a winning position on-chain, ctf redeem-neg-risk handles the multi-outcome form, and ctf split and merge move between pUSD and the conditional token pair without going through the book at all. Amounts are in pUSD, --partition defaults to the binary 1,2, and everything on-chain needs MATIC.

Integrations

One dependency does the real work — polymarket_client_sdk_v2 at 0.5.1 — with alloy for signing and RPC, clap for parsing, tabled for the table output and rustyline for the shell. Rust edition 2024 and a declared minimum toolchain of 1.88.0, so a clone will not build on an older compiler.

Wallet resolution is a three-step fallback, in order: the --private-key flag, the POLYMARKET_PRIVATE_KEY environment variable, then ~/.config/polymarket/config.json. The same file holds chain_id and signature_type, which is one of proxy (the default, using Polymarket's proxy wallet), eoa, or gnosis-safe, and can be overridden per command.

There is no WebSocket. Every price in the table is a poll, so anything that needs to watch a book belongs in polymarket-client or straight against the CLOB API.

Limitations

  • No LICENSE file. Checked again on 20 September 2026 and still absent, on the repository with the most stars in the organisation. See ## Pricing for what is and is not granted.
  • Not on crates.io. polymarket-cli is not a published crate, so the reflexive cargo install polymarket-cli does not get you this tool. Homebrew, the piped install script, or a clone.
  • Six months since the last release, three since the last commit. v0.1.5 shipped on 10 March 2026. The CLOB v2 migration landed on main on 26 May 2026 and has never been released, so the downloadable binary and the readable source are two different programs.
  • The version number was itself a bug, and may still be. Cargo.toml reads 0.1.4 on main and also on the v0.1.5 tag — two of the three merged fixes in that release were about version reporting and Homebrew formula sync.
  • The private key sits on disk in plain text. wallet create generates one and writes it unencrypted to ~/.config/polymarket/config.json. No passphrase, no keychain, no hardware wallet. On a shared or backed-up machine that is a funded account in a file.
  • The vendor's own warning is the strongest sentence in the README — early, experimental software, not to be used with large amounts of funds, with commands and behaviour subject to change without notice. Take it literally at 0.1.x.
  • Sixteen open issues and thirty-two open pull requests against a repository whose last commit is from May. Most of what the community has offered is unmerged.
  • No Windows binary, no WebSocket, no MCP server, and nothing for the US exchange.

Alternatives

For the same platform from Python rather than a shell, polymarket-client is Polymarket's own SDK, released thirty-four times since May 2026, and it covers the same approvals, CTF operations and streaming that this CLI covers by command — with the streaming the CLI lacks. py-clob-client is the archived predecessor and should not be started from.

For the US exchange there is no first-party CLI at all; the official clients there are polymarket-us-python and polymarket-us-typescript.

For several venues behind one interface, ccxt and pmxt are the cross-venue options, and both are libraries rather than terminals.

Specs

Interfaces
API
Export
JSON
Available in
Global
KYC required
No
Market subjects
Resolved by
Resolves nothing
Maker fee
None
Platforms
CLI
AI features
None
Capabilities
Order book, Automation, Live trading, Portfolio tracking
Pricing verified
Availability verified
Capabilities verified

Also from Polymarket

Background

How this part of the sector works, rather than which product to pick.

  • Where your key lives when software trades for youFour different credentials are all called a key, and they differ in what a copy permits. What the clients in this catalogue ask for, and what to ask them back.
  • What running a bot does not solveA bot fixes speed and consistency. Rate limits, a missing rehearsal, a field that stops arriving, a partial fill and a paused market are not coding problems.

Also worth comparing

  • PolycoolPhone-sized Polymarket client with copy trading, parlays and a fee of its own.
  • PolyramaPolymarket and Kalshi in one terminal, with wallet analytics and a REST API.
  • SynthesisPolymarket and Kalshi in one browser desk, with copytrading and a shared portfolio.
  • Alphapoly (polymarket-alpha-bot)Self-hosted scanner for covering portfolios across correlated Polymarket contracts.
  • CCXTOne client for seven prediction venues, inside a 104-exchange crypto library.
  • limitless-sdkLimitless Exchange's own async Python SDK - CLOB and NegRisk orders, WebSocket, MIT.

FAQ

What licence is this actually under?

Checked on 20 September 2026 - Cargo.toml carries license = "MIT" and the README ends with a License section reading MIT, but the repository contains no LICENSE file, GitHub's licence endpoint returns 404 and the repository reports no detected licence. The name of a licence without its text is thin ground for redistribution, because MIT's own condition is that the copyright notice and permission notice travel with every copy, and there is no notice in the repository to carry.

Can I install it with cargo install polymarket-cli?

No. There is no polymarket-cli crate on crates.io - the registry answers that the crate does not exist. The supported routes are the Homebrew tap, the install.sh script piped to a shell, and cargo install --path . from a clone. Prebuilt tarballs are attached to the GitHub releases for macOS and Linux on both architectures, and there is no Windows build.

Is it still being released?

Two releases exist, v0.1.4 on 24 February 2026 and v0.1.5 on 10 March 2026, and nothing since. The default branch kept moving until 26 May 2026, when the CLOB order path was migrated to SDK v2 and CTF proxy operations were routed through v2 contracts. That migration has never been released, so the binaries you can download predate it by two and a half months.

Where does it keep my private key?

In plain text, unless you pass it another way. The key is read from a --private-key flag, then POLYMARKET_PRIVATE_KEY, then ~/.config/polymarket/config.json - and polymarket wallet create generates a fresh key and writes it into that file unencrypted. There is no passphrase, no keychain integration and no hardware-wallet path.

How much of it works without a wallet?

Most of it. Market, event, tag, series, comment, profile and sports discovery, the whole CLOB read surface including books, midpoints, spreads and price history, and the on-chain data commands for any address all run with no key at all. A wallet is needed only to place or cancel orders, read your own balances and trades, and sign approvals, splits, merges and redemptions.