How the engine follows a wallet
Ballista’s worker holds a live feed of Polymarket settlements — the moment trades settle on-chain — and an in-memory index of every wallet its users are watching.1
A settlement arrives
The worker checks every fill in it against the watched-wallet index. Almost
all settlements touch nobody’s target and are dropped immediately.
2
The leader's fills are folded together
When a leader sweeps a book, one settlement can contain a dozen small fills.
Ballista folds them into a single order per token, side and role, at the
summed size and the volume-weighted average price. The leader took one
position, so you take one position — not a dozen minimum-sized ones.
3
Your settings decide
The folded trade runs through your copy trade’s filters, caps and sizing.
If anything rejects it, the reason is recorded and nothing is placed.
4
Your order goes to the book
Ballista submits a fill-and-kill order from your proxy wallet at a limit
price derived from your slippage setting. If the exchange rejects it, the
order is retried up to the number of times you configured.
Both sides of the leader’s flow are followed. Ballista matches on the wallet
itself, so it sees the leader’s trade whether they crossed the spread or had a
resting order filled — though a wallet whose edge is in resting orders is a poor
one to copy. See Choosing a trader.
What gets skipped, and why
Three things stop a copy before your own settings are even consulted:
Everything else — sides, price bands, value bands, size limits, spend caps, market
gates — is your configuration. Each is documented in
Copy trade settings.
Take-profit and stop-loss
Take-profit and stop-loss are live-only features. They arm on the positions a copy trade opens with a buy, and a position is tracked whenever the copy trade has any exit condition — a TP or SL price, a TP or SL percentage, or a balance level.- Price levels are checked event-driven, against the same settlement feed. The instant anyone trades that token at or through your level, the exit order is sent. If that order fails, the position goes back into the index and is retried on the next price tick.
- Balance levels (
Balance TP/Balance SL) are polled every 30 seconds. When your wallet balance reaches either one, the copy trade is switched off and every position it is tracking is market-sold.
The lifecycle of a copy trade
The engine rebuilds its watch index every 30 seconds, so creating, pausing,
resuming or deleting a copy trade takes effect within about half a minute. Nothing is
backfilled: a copy trade mirrors trades the leader makes after it goes active, not
positions they already hold.
A copy trade deployed from a backtest result is created paused, deliberately.
A simulation assumes every admitted order filled, so a one-click hop from a
simulation to real money would start mirroring a stranger the moment the form was
submitted. Switch it on yourself when you are ready.
Where to manage it
Telegram
The full form — every setting on this site, one button each. Your list marks
each setup active or paused.
Web terminal
A short form for the settings most people change, the Active switch for
pausing and resuming, and the execution history table.
What to read next
Copy trade settings
Every field, what it does, and what happens when you leave it blank.
Choosing a trader
Taker share, and why some profitable wallets cannot be copied at all.
Backtesting
Replay a leader’s real trades through a configuration before you fund it.
Placing orders
Trading by hand, alongside your copy trades.
