Skip to main content

polymarket-tui

A fast, keyboard-driven terminal client for Polymarket: browse markets, watch live order books and trades, chart prices, track your portfolio and P&L, follow traders, and place orders - without leaving the terminal.

PyPI Python License: MIT

polymarket-tui - a live order book, trades, and price chart in the terminal

▶ Watch the interactive demo - browse markets, open a live book, chart, search.

polymarket-tui in 35 seconds

▶ Watch the 35-second launch video - one real session, the camera on the book, the order ticket, the dry-run toast, the chart.

Built with Python 3.12 and Textual.

Install

PyPI (installs the CLI in an isolated environment):

uv tool install polymarket-tui   # or: pipx install polymarket-tui / pip install polymarket-tui

One-line install (installs uv if missing, then installs polymarket-tui as a uv tool):

curl -sSL https://raw.githubusercontent.com/byronxlg/polymarket-tui/main/install.sh | bash

Homebrew (one command - auto-taps and installs):

brew install byronxlg/tap/polymarket-tui

Add --HEAD to track main instead of the latest release.

From source (for development):

git clone https://github.com/byronxlg/polymarket-tui
cd polymarket-tui
uv sync
uv run polymarket-tui

Then run polymarket-tui.

No credentials needed to browse: markets, books, charts, trades, comments, and any trader's public positions all work read-only.

Landing page

A static landing page lives in site/ and deploys to GitHub Pages (https://polymarket-tui.botsmith.dev/). Its hero plays the 35-second launch video and nothing else - one real session, the camera moving between the top market, the live book, a dry-run buy, the chart, the NO flip, the trade tape and search. It is cut by the shorts pipeline (scripts/shorts/, landscape canvas). Preview it locally with python3 -m http.server -d site 8000. The footage behind the GIF above is site/assets/demo.cast, re-recorded with bash scripts/record_demo.sh; the video records its own session from scripts/shorts/beats/launch-tour.json. See site/README.md.

Account setup

Press A in the app (a pop-out - esc drops you back where you were):

  • Funder address only -> observer mode: your positions, P&L, activity. This is the wallet address shown on your polymarket.com profile (also your USDC deposit address).

  • Funder + private key -> trading mode. Where the key comes from depends on how you log in to Polymarket:

    • email/Magic login: polymarket.com -> Settings -> Export Private Key (signature type 1, the default)
    • browser wallet: export the key from the wallet itself, e.g. MetaMask account details (signature type 2)
    • trading straight from your own wallet with no Polymarket proxy: that wallet's key, funder = the same address (signature type 0)

    Applied credentials are saved to ~/.config/polymarket-tui/credentials.toml (chmod 600, plaintext - treat the file like the key itself). POLYMARKET_* env vars override the file.

    Note: accounts created since Polymarket switched to Privy embedded wallets export only a threshold-key share; the trading API (and therefore this client) does not support them yet.

Orders are dry-run until you go live: fully validated and signed but never posted. Live posting requires the L toggle (confirmed) or POLYMARKET_EXECUTION_LIVE=1; the choice persists across sessions and a LIVE start is announced. Every placed/cancelled order is appended to ~/.local/share/polymarket-tui/orders.jsonl.

Deposits, withdrawals, token approvals, and redemption of resolved positions are on-chain operations this client does not perform - use the website.

Keys

One scheme everywhere - press ? in the app for the full reference:

  • arrows move; up/down flow into adjacent panels (category bar, chart inspect, search box); right/enter open; left/esc step out one level (order panel -> expanded view -> screen -> previous screen)
  • tab cycles the screen's selector: category (home), chart timeframe (event/market), pane (portfolio), results mode (search)
  • space is the contextual toggle: star an event, follow a trader, flip the YES/NO book, flip BUY/SELL while ordering, show rules
  • Market pages: b/s order entry under the live book (price in cents, empty = market order, up/down = tick), y/n book side, a expand the inline trades to full width (right opens the trader), i rules, c comments, e parent event
  • / search (markets and traders), p portfolio, w watchlist, A auth, L toggle DRY/LIVE for the session (going live asks for confirmation), q quit

Data sources

Public Polymarket APIs: gamma-api.polymarket.com (markets, events, search, comments), clob.polymarket.com (order books, price history, orders), data-api.polymarket.com/v2 (positions, trades, activity, profit history). Trading uses py-clob-client-v2 for CLOB V2 order signing.

Docs

  • .claude/rules/design-principles.md - the UX/code principles this app follows
  • docs/architecture.md - layers, async model, caching
  • docs/api-reference.md - the four API surfaces, verified shapes, quirks
  • docs/trading.md - the money path: validation, confirmation, audit
  • docs/config-and-auth.md - credentials, capability modes

Remaining work is tracked in GitHub issues.

Disclaimer

Unofficial client, not affiliated with Polymarket. It can place real orders with real money when you explicitly enable LIVE mode; you are responsible for your trades. No warranty.

Metadata

Release files for polymarket-tui 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for polymarket-tui 0.1.2
File Size Uploaded Provenance Actions
polymarket_tui-0.1.2.tar.gz 148.3 kB With provenance Details for polymarket_tui-0.1.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for polymarket-tui 0.1.2
File Interpreter ABI Platform Actions
polymarket_tui-0.1.2-py3-none-any.whl Python 3 none any Details for polymarket_tui-0.1.2-py3-none-any.whl

Total release size: 327.0 kB

Release files / polymarket_tui-0.1.2.tar.gz

Download URL polymarket_tui-0.1.2.tar.gz
Size 148.3 kB
Tags Source
SHA-256 checksum
How to use checksums
ae492541605fc8208c44eb7e9fab7651fe982d82e6cac2a9e613ff731d4d9966
BLAKE2b-256 checksum
How to use checksums
dc2ed9e0bd3de7caa578ce5612f7bb4510d6d99e8cd13098ad95f64dcdf24bf9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.

Transparency log

Release files / polymarket_tui-0.1.2-py3-none-any.whl

Download URL polymarket_tui-0.1.2-py3-none-any.whl
Size 178.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9d862e898f76b9c94949cd4c1e832fcadaedb2ec2af5f51511c611ec950d6cdf
BLAKE2b-256 checksum
How to use checksums
2aa0ed581e9699a866ff0215c5be5ca00a3bd05d2f8965588bab1c7eed361df4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.

Transparency log

Security for polymarket-tui 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for polymarket_tui-0.1.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page