polymarket-copybot
github.com/kamilch1k/polymarket-copybot
Polymarket copy-trading bot that selects traders using friction-adjusted net edge and mirrors them with hard risk gates
Copy-trading with quantitative trader selection: ranks traders by net edge (PnL/volume - 2.3% x spread crossings), copies only those above threshold, enforces position limits and stop-losses, key remains locally
polymarket-copybot is a Python-based copy-trading bot for Polymarket that employs a mathematically rigorous selection process to identify which traders to mirror. The key innovation is the 'friction-adjusted math'—instead of simply ranking by PnL or win rate, it calculates net edge as PnL divided by total volume minus a friction factor of 2.3% multiplied by the number of spread crossings. This accounts for the cost of trading (spreads, slippage) and prevents copying traders who appear profitable but actually lose to market friction. Once selected, the bot mirrors their trades but with hard risk gates: maximum position size per market, maximum total exposure, and stop-loss limits. Critically, the private key never leaves the user's machine (no fund-transfer code paths), and all claims are verified in the README. The bot reports a 60% win rate live. Code quality is signaled by the concise repository (279 KB) with no unnecessary files, and the security-first design is a major positive. There are no malware indicators. The main strength is the quantitative edge calculation that filters out 'false positives'—traders who look good on PnL but lose to fees. The hard risk gates provide safety in a copy-trading context where users are often exposed to the copied trader's downside. Limitations: the 2.3% friction factor may need calibration per market, and copy-trading inherently carries counterparty risk if the target trader changes behavior. This bot is ideal for users who want automated copy-trading with a statistical filter rather than blind replication. For Polymarket intelligence, it offers insight into how top traders perform net of costs.