Copy Bot
The Copy Bot watches a whitelist of traders you choose and mirrors their moves — opening and closing positions proportionally to your configured size. It filters which markets and outcomes to copy and enforces your risk limits on every trade.
- Mirror top Polymarket traders from a whitelist
- Proportional or fixed position sizing
- Market category, liquidity, odds, and keyword filters
- Slippage, delay, and order-type controls
- Daily-loss and exposure circuit breakers
- Live activity feed of every copied move
How it works
On each poll the bot reads the current positions of your whitelisted traders. New positions become buys; positions they exit become sells. Each candidate trade is checked against your market filters and risk limits, sized by your multiplier or fixed amount, and then placed (live) or simulated (paper).
By default the bot baselines on start — it only copies trades made after you start it, ignoring positions a trader already held. Enable Copy existing positions on start to also mirror their current book.
Settings explained
Every option below lives on the bot’s Settings tab, and the names here match exactly what you see on screen. The defaults are safe for paper trading, so a good way to learn is to start there and change one thing at a time.
Position sizing — how big each copy is
When a trader you follow opens a position, sizing decides how many dollars the bot puts in. There are two modes:
- Proportional — copies a fraction of the trader’s size. If they go big, you go big (until your caps kick in). Best for mirroring a trader’s style.
- Fixed USDC — ignores their size and spends the same set amount on every copy. Simple and predictable.
| Setting | Default | What it does |
|---|---|---|
Size mode | Proportional | How each copy is sized: Proportional (scales with the trader) or Fixed USDC (same amount every time). |
Size multiplier | 1.0 | Proportional mode only. 1.0 matches the trader 100%, 0.5 is half their size, 2.0 is double. Lower it to risk less per copy. |
Max position | 10000 | The most USDC the bot will ever hold in a single market. A hard ceiling per market. |
Min trade | 1 | Copies smaller than this are skipped. Stops the bot making dust-sized buys like $0.10. |
Max trade | 5000 | The most USDC the bot will spend on a single buy. This is your per-copy cap. |
Skip oversized trades | on | The most important toggle to understand — see the note just below. |
- Checked (on) — the bot throws the whole trade away. You will see
BUY failed: Trade $X exceeds maximumin the log and nothing gets copied. - Unchecked (off) — the bot trims the trade down to your Max trade and buys that. This is what most people actually want.
Worked example: a $30 paper account
Say you have $30 to paper trade and you want every copy to land between $1 and $5, no matter how big the trader goes. Use these values:
| Setting | Value to enter |
|---|---|
| Size mode | Proportional |
| Size multiplier | 1.0 |
| Min trade | 1 — never buy less than $1 (smaller copies are skipped) |
| Max trade | 5 — never spend more than $5 on one buy |
| Max position | 5 — never hold more than $5 in one market |
| Skip oversized trades | Unchecked — cap big trades at $5 instead of skipping them |
| Max total exposure | 30 — stop opening new buys once $30 is in play |
With those values, the bot behaves like this:
- Trader opens a huge $500 position → you buy $5 (capped).
- Trader opens a small $2 position → you buy $2.
- Trader opens a tiny $0.40 position → skipped (below your $1 minimum).
- Once your open copies add up to $30, the bot pauses new buys until something closes.
30) to cap how much the bot can have working at once.Market & outcome filters
Filters decide which of the trader’s moves you copy. Leave them at the defaults to copy everything, or tighten them to focus on certain markets.
| Setting | Default | What it does |
|---|---|---|
All markets | on | Copy every category. Turn it off to pick specific ones: Politics, Sports, Crypto, and so on. |
Min position value | 0 | The trader must hold at least this much USDC in a market before you copy it — a rough way to skip illiquid, low-conviction bets. |
Odds range | 5–95 | Only copy when the share price (the market’s implied % chance) is inside this band. Skips near-certain longshots and sure things. |
Skip resolved markets | on | Ignore markets already decided (priced near 0% or 100%). |
Outcome side | all | Restrict copies to one side only: Yes, No, Up, or Down. |
Keyword whitelist / blacklist | empty | Require or ban markets by words in the title. For example, blacklist Bitcoin to skip crypto-price markets. |
Up/Down only · Skip 5m/15m | off | Focus on (or avoid) the fast, short-window “up or down” markets. |
Risk limits — your safety nets
These stop the bot automatically when things go wrong. Strongly recommended once you move to live trading.
| Setting | Default | What it does |
|---|---|---|
Max total exposure | 0 (off) | The combined size of all open copies the bot may hold — your overall budget cap. 0 means unlimited. |
Daily loss limit | 0 (off) | Pause new buys once today’s realized loss passes this amount. Resets at UTC midnight. |
Pause buys on daily loss | off | Switches the daily-loss limit on. |
Max consecutive failures | 0 (off) | Pause the bot after this many failed orders in a row — a circuit breaker against a stuck loop. |
Max open positions | 50 | The most markets you will be in at the same time. |
Max daily trades | 100 | A hard ceiling on buy + sell actions per UTC day. |
Execution & timing
| Setting | Default | What it does |
|---|---|---|
Slippage | 1% | How far the price may move against you on an order before the bot gives up. Higher fills more often but at worse prices. |
Poll interval | 30s | How often the bot checks your traders for new moves. Lower reacts faster but uses more API calls. Minimum 2s. |
Copy buys / Copy sells | on / on | Whether to mirror new positions, exits, or both. |
Order type | GTC | GTC (good-til-cancel) stays open until filled; GTD (good-til-date) expires after a time. |
Per-market cooldown | 0 (off) | Minimum seconds between copies of the same market — avoids piling into one market repeatedly. |
Trading hours (UTC) | off | Only place new buys inside a set UTC time window. |