Strategy · Medium risk · Intermediate
Copy trading
Mirror the trades of profitable wallets you've vetted. polybot handles discovery, filtering, and size normalisation.
Published Apr 10, 2026
The idea
On Polymarket, every trade is on-chain. That means you can see who traded what, when, and for how much. Some wallets consistently outperform; copying them is a real strategy, provided you can identify the persistently skilled and filter out the lucky.
How polybot implements it
copy_trade has three components:
- Wallet ranking. polybot ingests trade history, groups by trader, computes rolling P&L over 30/60/90 days, Sharpe-like metrics, and activity counts. A trader needs to meet minimum trade count, minimum win rate, and minimum P&L to enter the candidate set.
- Event subscription. For active wallets on the leaderboard, polybot listens for new trades via the CLOB websocket and the EVM event stream.
- Replication. On a new trade, scale size down to your budget (typically 1–10% of your position size vs theirs), place the order, and tag it to the source wallet for attribution.
# core loop
for wallet in self.leaderboard.active():
for trade in wallet.new_trades_since(last_checked):
if self.risk.ok(market_id=trade.market_id, side=trade.side):
size = min(
self.config.max_size,
trade.size * self.config.scale_factor,
self.risk.remaining_budget(wallet),
)
self.emit(Signal(trade.market_id, side=trade.side, size=size, source=wallet))
Where this works
- Information asymmetry markets. Sports, politics, crypto events where specific wallets have a genuine information edge (insiders, specialists, domain experts).
- Mid-frequency flow. Whales who make 5–20 trades per week are ideal. More than that and you’re overtrading; fewer and you’re not building a position.
Where it fails
- Front-running. Once a wallet is famous, everyone copies. Your fills degrade, edge compresses. Mitigation: stale wallets drop off the leaderboard; polybot refreshes rankings daily.
- Adverse selection on exits. Whales sometimes cut early without telling their followers. polybot follows the wallet’s own exits — but in real time, you may lag by seconds to minutes.
- Strategy divergence. A wallet spread-farming and a wallet directional-betting look similar from trade data but aren’t replicable the same way. polybot tries to infer intent (via trade size, holding period, fill behaviour) and skips wallets that are obvious market makers.
Configuration
polybot strategy enable copy_trade
polybot strategy config copy_trade \
--min-win-rate 0.55 \
--min-trades-30d 20 \
--scale-factor 0.05 \
--max-followers-per-wallet 3 \
--refresh-leaderboard-daily
polybot copy-trade leaderboard --top 20 # see who's on the list
polybot copy-trade follow <address> # manually pin a wallet
FAQ
Is this legal? On-chain data is public. Copying public wallet behaviour has no legal prohibition on Polymarket in most jurisdictions. Check your local law; this is not legal advice.
How much lag vs the whale? Best case, 2–5 seconds (CLOB websocket notification + polybot’s signal-to-fill time). Worst case, 30+ seconds in high-gas conditions.
Can I blacklist known market makers? Yes — polybot copy-trade blacklist <address>. polybot also auto-detects market maker patterns (two-sided quoting, high trade count, low P&L variance) and excludes them.
What about Kalshi? Kalshi trades aren’t on-chain, so true copy trading isn’t feasible. The strategy is Polymarket-only today.
Source: src/polybot/strategies/copy_trade.py.
Want this strategy tuned for your book?
Cryptuon can adapt polybot strategies to your capital, risk budget, and markets. Shadow-deployed before you go live.