Vibeleaderboard
Index / tool
Visit github.com
Category
Crypto
Rank
No. 1353Tools index
Pricing
Open Source
Type
TOOL
GitHub
986 stars
Date

About

An automated trading bot for Polymarket that systematically bets "No" on standalone yes/no prediction markets (excluding sports). Built with Python and includes safety features, dashboard monitoring, and paper trading mode for entertainment purposes.

What it does

It watches eligible market prices, enters positions only beneath a configurable price ceiling, sizes purchases from available cash or a fixed amount, and keeps portfolio state current. A browser dashboard reports positions, balances, profit and loss, trade history, and market resolutions.

Why it's ranked here

The project treats unattended trading as an operations problem, not merely a betting rule. Paper mode is the fallback, live transmission needs three explicit switches, configuration is validated, and live recovery requires durable storage. That care is compelling, though operating it still means trusting money to exchange, database, wallet, and blockchain integrations.

What's good

The safety gate fails closed into simulated trading unless every live switch agrees. Live mode also demands database-backed recovery. The async supervisor restarts failed feeds, handles shutdown signals, and records heartbeats. Position redemption, ambiguous-order recovery, structured latency logs, and focused tests show attention to failures beyond the happy path.

Tradeoffs

Setup carries substantial operational weight: live use needs wallet secrets, a database, a Polygon RPC endpoint, and signature-specific funding configuration. The dashboard exposes monitoring but rejects its shown position-target control message. Dependencies install from a requirements file rather than a packaged command, and the stated strategy scope excludes sports and non-binary markets.

How to use it well

Start in paper mode, tune entry price, sizing, polling, slippage, retries, and position limits, then inspect dashboard and ledger behavior before considering live transmission. It suits Python operators comfortable managing secrets, PostgreSQL, Heroku, and wallet infrastructure. It does not provide broad strategy selection, sports coverage, or an interactive dashboard for changing position targets.

Technical notes+

bot/main.py runs an asyncio supervisor, selects PaperExchangeClient unless all live flags agree, requires DATABASE_URL for live sending, launches strategy, recovery, redemption, dashboard, and heartbeat tasks, and patches the CLOB client's HTTP timeout. bot/config.py combines config.json with environment overrides and validates intervals, sizing, prices, slippage, retries, concurrency, and position limits. bot/db.py defines SQLAlchemy tables for orders, fills, positions, state, trade events, pending settlements, and ambiguous orders; bot/store.py handles idempotent fill recording, status normalization, position accounting, and realized profit and loss. bot/dashboard.py serves aiohttp and WebSocket monitoring, while rejecting position-target changes. bot/redeemer.py queries redeemable positions and submits Polygon redemption transactions with retry, cooldown, nonce, and gas checks. Installation uses requirements.txt, and the documented entry point is python -m bot.main.

Observed

Primary language
Python
Install surface
Dependencies install with pip from requirements.txt; configuration is copied from JSON and environment examples.
Runtime interface
Command-line module entry point: python -m bot.main
Monitoring interface
aiohttp browser dashboard with WebSocket updates for portfolio, trades, balances, profit and loss, and resolutions
Deployment support
Local execution and a documented Heroku web-dyno workflow
Persistence
SQLAlchemy storage backed by DATABASE_URL, with PostgreSQL driver included
Test structure
The repository documentation identifies a tests directory with unit and regression coverage.

Read from README.md, requirements.txt, bot/db.py, bot/main.py, bot/store.py, bot/utils.py, bot/config.py, bot/market.py, bot/models.py, bot/latency.py, bot/__init__.py, bot/redeemer.py, bot/dashboard.py, bot/reconcile.py, bot/time_utils.py.

What it can do

  • Scan Polymarket for standalone yes/no prediction markets

    Polymarket API dataList of eligible non-sports prediction markets

  • Place automated 'No' bets on prediction markets

    Market data and price thresholdsExecuted trades on Polymarket

  • Monitor trading activity through dashboard

    Bot trading data and market statusReal-time dashboard interface showing bot performance

  • Execute paper trading simulations

    Market data and trading parametersSimulated trading results without real money

  • Persist and recover bot state

    Trading session dataSaved bot state for session recovery

  • Filter out sports-related markets

    All available Polymarket prediction marketsNon-sports prediction markets only

  • Apply safety controls and price caps

    Trading parameters and market pricesRisk-controlled trading decisions

Tags

polymarkettrading-botprediction-marketscryptoautomated-tradingpythonbetting

Tech Stack

Python

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.