{"id":36223686,"url":"https://github.com/penso/polymarket-tui","last_synced_at":"2026-01-11T05:02:29.322Z","repository":{"id":331367426,"uuid":"1125969361","full_name":"penso/polymarket-tui","owner":"penso","description":"TUI interface for Polymarket","archived":false,"fork":false,"pushed_at":"2026-01-03T23:39:38.000Z","size":2663,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-07T02:00:04.923Z","etag":null,"topics":["polymarket"],"latest_commit_sha":null,"homepage":"https://www.polymarket.com","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/penso.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-12-31T18:56:09.000Z","updated_at":"2026-01-05T17:39:37.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/penso/polymarket-tui","commit_stats":null,"previous_names":["penso/polymarket-tui"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/penso/polymarket-tui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/penso%2Fpolymarket-tui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/penso%2Fpolymarket-tui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/penso%2Fpolymarket-tui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/penso%2Fpolymarket-tui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/penso","download_url":"https://codeload.github.com/penso/polymarket-tui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/penso%2Fpolymarket-tui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28287008,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-11T04:44:51.577Z","status":"ssl_error","status_checked_at":"2026-01-11T04:44:44.232Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["polymarket"],"created_at":"2026-01-11T05:02:28.646Z","updated_at":"2026-01-11T05:02:29.313Z","avatar_url":"https://github.com/penso.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# polymarket-tui\n\n[![CI](https://github.com/penso/polymarket-tui/actions/workflows/ci.yml/badge.svg)](https://github.com/penso/polymarket-tui/actions/workflows/ci.yml)\n[![Crates.io](https://img.shields.io/crates/v/polymarket-tui.svg)](https://crates.io/crates/polymarket-tui)\n\nA terminal UI for browsing and monitoring Polymarket prediction markets in real-time. Built in Rust with a beautiful TUI interface.\n\nThis was started as a pet project for me to play with AI. This used Cursor, Claude and Codex.\n\n![Screenshot](screenshot.png)\n\n## Features\n\n### Terminal UI (TUI)\n\n- **Multiple tabs**: Events, Favorites, Breaking, and Yield views\n- **Events**: All events sorted by 24h trading volume\n- **Favorites**: Your bookmarked events (requires authentication)\n- **Breaking**: Markets that moved the most in the last 24 hours (shows price change %)\n- **Yield**: High-probability markets for yield opportunities\n\n### Live Data\n\n- **Real-time trade monitoring**: Watch live trades via WebSocket (RTDS)\n- **Live price updates**: See current prices for all market outcomes\n- **Trade counts**: View number of trades per event\n\n### Search \u0026 Navigation\n\n- **API search** (`/`): Search all Polymarket events via API\n- **Local filter** (`f`): Filter current list locally\n- **Keyboard navigation**: Vim-style bindings (`j`/`k`, `↑`/`↓`)\n- **Mouse support**: Click to select, scroll panels, switch tabs\n- **Panel navigation**: Tab between Events, Details, Markets, Trades, and Logs\n\n### Market Information\n\n- **Event details**: Title, slug, status, end date, tags\n- **Market outcomes**: Prices for Yes/No or multiple outcomes\n- **Volume indicators**: 24h volume, total volume\n- **Status indicators**: Active, closed, in-review states\n\n### Authentication (Optional)\n\n- **CLOB API authentication**: Required for trade counts and favorites\n- **Bookmark events**: Save favorite events for quick access\n- **User profile**: View your Polymarket profile in the TUI\n\n### Other Features\n\n- **Logs panel**: View API calls and debug info (`l` to toggle)\n- **URL opening**: Open event in browser (`o` key)\n- **Infinite scroll**: Load more events as you scroll\n- **Cache**: Events are cached per tab for fast switching\n\n## Workspace\n\n- `crates/polymarket-api`: Core library with WebSocket client, Gamma API client, CLOB client, and display formatters\n- `crates/cli`: Binary application with TUI and CLI commands\n\n## Installation\n\n```bash\ncargo install polymarket-tui\n```\n\nOr build from source:\n\n```bash\ngit clone https://github.com/penso/polymarket-tui\ncd polymarket-tui\ncargo build --release\n```\n\n## Usage\n\n### TUI Mode (Recommended)\n\n```bash\n# Start TUI (default - no arguments needed)\npolymarket-tui\n\n# Or explicitly with options\npolymarket-tui trending --order-by volume24hr --limit 100\n```\n\n### CLI Commands\n\n```bash\n# Watch live trades for a specific event\npolymarket-tui watch-event \u003cevent-slug-or-url\u003e\n\n# Monitor all markets via WebSocket\npolymarket-tui monitor\npolymarket-tui monitor --rtds --event \u003cevent-slug\u003e\n\n# Get orderbook for a market\npolymarket-tui orderbook \u003cmarket-id\u003e\n\n# Get recent trades\npolymarket-tui trades \u003cmarket-id\u003e --limit 20\n\n# Get event/market information\npolymarket-tui event \u003cevent-slug\u003e\npolymarket-tui market \u003cmarket-slug\u003e\n\n# Find yield opportunities\npolymarket-tui yield --min-prob 0.95 --expires-in 7d\n```\n\n## Keyboard Shortcuts\n\n| Key | Action |\n|-----|--------|\n| `↑`/`k`, `↓`/`j` | Navigate up/down |\n| `Tab` | Switch between panels |\n| `←`/`→` | Switch tabs |\n| `1`-`4` | Jump to tab (Events/Favorites/Breaking/Yield) |\n| `Enter` | Toggle live trade watching |\n| `/` | Search markets (API) |\n| `f` | Filter current list (local) |\n| `r` | Refresh current panel |\n| `b` | Toggle bookmark (requires auth) |\n| `o` | Open event URL in browser |\n| `l` | Toggle logs panel |\n| `p` | Show user profile |\n| `?` | Show help |\n| `Esc` | Cancel/close |\n| `q` | Quit |\n\n## Authentication (Optional)\n\nFor features like favorites and trade counts, set these environment variables:\n\n```bash\nexport POLYMARKET_API_KEY=\"your-api-key\"\nexport POLYMARKET_SECRET=\"your-secret\"\nexport POLYMARKET_PASSPHRASE=\"your-passphrase\"\n```\n\nOr create an `auth.json` file (see `envrc-example`).\n\n## Development\n\n```bash\n# Build\ncargo build\n\n# Run TUI\ncargo run -p polymarket-tui -- trending\n\n# Run tests\ncargo test\n\n# Run lints\ncargo clippy --all-targets --all-features -- -D warnings\n\n# Format code\ncargo fmt\n```\n\n## API Documentation\n\nThe library provides these main modules:\n\n- **`gamma`**: Client for Polymarket's Gamma API (events, markets, user profiles)\n- **`clob`**: Client for CLOB API (orderbooks, trades, authentication)\n- **`rtds`**: Real-Time Data Stream client for live trade activity\n- **`websocket`**: WebSocket client for market updates\n- **`display`**: Formatters for colored console output\n- **`cache`**: File-based caching for API responses\n\n## CI\n\nGitHub Actions runs on pushes and PRs:\n\n- rustfmt check\n- clippy with warnings denied\n- full test suite\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpenso%2Fpolymarket-tui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpenso%2Fpolymarket-tui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpenso%2Fpolymarket-tui/lists"}