Automated copy trading bot for Polymarket that mirrors trades from top performers with intelligent position sizing and real-time execution.
The Polymarket Copy Trading Bot automatically replicates trades from successful Polymarket traders to your wallet. It monitors trader activity 24/7, calculates proportional position sizes based on your capital, and executes matching orders in real-time.
- Select Traders - Choose top performers from Polymarket leaderboard or Predictfolio
- Monitor Activity - Bot continuously watches for new positions opened by selected traders using Polymarket Data API
- Calculate Size - Automatically scales trades based on your balance vs. trader's balance
- Execute Orders - Places matching orders on Polymarket using your wallet
- Track Performance - Maintains complete trade history in MongoDB
- Node.js v18+
- MongoDB database (MongoDB Atlas free tier works)
- Polygon wallet with USDC and POL/MATIC for gas
- RPC endpoint (Infura or Alchemy free tier)
# Clone repository
git clone https://github.com/vladmeer/polymarket-copy-trading-bot.git
cd polymarket-copy-trading-bot
# Install dependencies
npm install
# Run interactive setup wizard
npm run setup
# Build and start
npm run build
npm run health-check # Verify configuration
npm start # Start tradingπ For detailed setup instructions, see Getting Started Guide
- Multi-Trader Support - Track and copy trades from multiple traders simultaneously
- Smart Position Sizing - Automatically adjusts trade sizes based on your capital
- Tiered Multipliers - Apply different multipliers based on trade size
- Position Tracking - Accurately tracks purchases and sells even after balance changes
- Trade Aggregation - Combines multiple small trades into larger executable orders
- Real-time Execution - Monitors trades every second and executes instantly
- MongoDB Integration - Persistent storage of all trades and positions
- Price Protection - Built-in slippage checks to avoid unfavorable fills
The bot currently uses the Polymarket Data API to monitor trader activity and detect new positions. The monitoring system polls trader positions at configurable intervals (default: 1 second) to ensure timely trade detection and execution.
| Variable | Description | Example |
|---|---|---|
USER_ADDRESSES |
Traders to copy (comma-separated) | '0xABC..., 0xDEF...' |
PROXY_WALLET |
Your Polygon wallet address | '0x123...' |
PRIVATE_KEY |
Wallet private key (no 0x prefix) | 'abc123...' |
MONGO_URI |
MongoDB connection string | 'mongodb+srv://...' |
RPC_URL |
Polygon RPC endpoint | 'https://polygon...' |
TRADE_MULTIPLIER |
Position size multiplier (default: 1.0) | 2.0 |
FETCH_INTERVAL |
Check interval in seconds (default: 1) | 1 |
- Visit Polymarket Leaderboard
- Look for traders with positive P&L, win rate >55%, and active trading history
- Verify detailed stats on Predictfolio
- Add wallet addresses to
USER_ADDRESSES
π For complete configuration guide, see Quick Start
Deploy with Docker Compose for a production-ready setup:
# Configure and start
cp .env.example .env
docker-compose up -d
# View logs
docker-compose logs -f polymarketπ Complete Docker Guide β
- π Getting Started Guide - Complete beginner's guide
- β‘ Quick Start - Fast setup for experienced users
ISC License - See LICENSE file for details.
- Built on Polymarket CLOB Client
- Uses Predictfolio for trader analytics
- Powered by Polygon network
π Version 2 Available: An advanced version with RTDS (Real-Time Data Stream) monitoring is now available as a private repository.
Version 2 features the fastest trade detection method with near-instantaneous trade replication, lower latency, and reduced API load. Copy trading works excellently in the advanced version.
I've also developed a trading bot for Polymarket built with Rust.
https://www.youtube.com/watch?v=4f6jHT4-DQs
Disclaimer: This software is for educational purposes only. Trading involves risk of loss. The developers are not responsible for any financial losses incurred while using this bot.
Support: For questions or issues, contact via Telegram: @Vladmeer or Twitter: @Vladmeer