> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ballista.gg/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Ballista is a trading client for Polymarket, not an exchange. Every order Ballista places goes to Polymarket's CLOB.
> There are three end-user surfaces — the Telegram bot, the web terminal and the Chrome extension — and they share ONE account and ONE balance. Never attribute a feature to a surface without checking that surface's source.
> Every user registers in the Telegram bot first. The terminal and the extension sign in with the Telegram login widget. There is no other sign-up path.
> Deposits arrive through EVM, Solana and Bitcoin bridge addresses and a Polymarket proxy wallet, with a $10 minimum. There is NO withdrawal UI — Export Keys is how a user takes custody of their funds.
> Feature parity is uneven and must never be assumed. The full ~30-field copy-trade form exists only in Telegram; the terminal's copy form has 7 fields; the backtester, leaderboard and trader profiles are terminal-only; alerts and notifications are extension-only; referrals are Telegram-only.
> Slippage means two different things. On a live copy trade it is a fill tolerance (default 30). In a backtest it is the simulated fill price (default 1). Deploying a backtest does not carry its slippage over to the live copy trade.
> Take-profit and stop-loss run on live copy trades but are NOT simulated in backtests — the backtest API rejects those fields.
> A backtest never places an order and never moves funds. Its fidelity caveats are published with every result and must be quoted, not paraphrased.
> Leaderboard PnL is own-tape: harvested by Ballista from its own trade tape. The leaderboard sorts by one transparent metric at a time and there is NO composite score or grade. The sparkline exists only for harvested wallets — a blank sparkline means unmeasured, never zero.
> Copy friction (slip) and a toxic flag DO exist and are own-engine: the wallet's own 30-day fills replayed as a taker (1% slippage per fill plus the real Polymarket taker fee schedule) against its actual 30-day PnL over the same fills, so the delta is pure friction. slip_pct is already a percentage, not a 0-1 fraction. The toxic flag is server-computed under evidence guards and is never re-derived client-side. Slip is not a sortable column. Blank means unmeasured — never zero and never clean.
> Copyability is a taker share, reported in aggressive (≥60%), passive (≤30%) and mixed bands. It is never a score.
> Do not document Feeds, the Twitter Tracker, the Telegram Settings button, percentage buy buttons, GTD orders, the Discord bot, or withdrawals.

# Copy trades

> Create, browse and edit the copy trades that mirror another wallet.

A copy trade watches one wallet and mirrors what it does into your account. Send
`/copytrade` or tap **Copy Trade** to see yours. For the idea behind it, read
[Copy trading](/guides/copy-trading).

The screen explains the two rules that govern sizing. Your buy is the target's
trade value multiplied by your percentage. Your sell is the target's sold shares
multiplied by your percentage — or, on fixed-dollar sizing, however many shares it
takes to sell that amount at the target's price.

<Warning>
  Sells follow the target, not your own position. On fixed-dollar sizing
  especially, a copied sell can come out larger than what you hold.
</Warning>

## The list

**+ Create Copy Trade** sits at the top, then one button per copy trade, five to a
page. Each button carries a status badge and a name:

| Badge | Meaning                   |
| ----- | ------------------------- |
| ✅     | The copy trade is active. |
| ❌     | The copy trade is paused. |

Pausing and resuming are not in the bot — they happen in the
[web terminal](/terminal/overview). The bot only shows you the state.

The name is the tag you gave it, cut to 24 characters. Without a tag, the button
shows the target wallet shortened to its first six and last four characters, so
give every copy trade a tag if you run more than one.

With more than five copy trades you get **« Prev** and **Next »**. **🔄 Refresh**
re-reads the list at the page you are on.

## Creating one

**+ Create Copy Trade** opens a blank form filled with sensible defaults. Set a
target wallet — the only field that is truly required — adjust whatever else you
want, then tap **+ Create** at the bottom. Nothing is saved until you do, so
leaving the form early throws the draft away.

The bot confirms with a toast and drops you back on the list with your new copy
trade visible. It starts active.

See [the copy-trade form](/telegram/copy-trade-form) for every field.

## Editing one

Tapping an existing copy trade opens the same form, loaded with its current values.
Editing works differently from creating:

<Info>
  **Edits save themselves.** Every toggle you flip and every value you send is
  written immediately. There is no save button — the bottom of the form shows
  **🗑 Delete** instead of **+ Create**.
</Info>

Because each change is a round trip, tapping several buttons in quick succession
can outrun the save. If it does, the bot says it is still saving the previous
change and asks you to try again in a moment. If a save fails, the form snaps back
to the stored values so what you see always matches what is running.

A save only carries what you changed. Anything you did not touch keeps its stored
value, so editing a paused copy trade leaves it paused.

If the copy trade is deleted from another device while you have its form open, the
next change you make tells you it no longer exists and returns you to the list.

## Deleting one

**🗑 Delete** at the bottom of an open copy trade asks first. You get a screen
naming the copy trade, with **🗑 Confirm Delete** and **« Cancel** — Cancel drops
you back on the form with nothing changed.

Confirming removes the copy trade's settings and stops it copying. It disappears
from your list and cannot be brought back from the bot; its execution history is
kept. Positions it already opened are left alone, and mirroring stops within about
30 seconds.

<Note>
  Confirmation screens are tied to the copy trade they were drawn for. Scroll back
  to an old one after opening a different copy trade and tapping Confirm answers
  *This confirmation is out of date* and deletes nothing — open the copy trade
  again to delete it.
</Note>

If the copy trade has already been deleted somewhere else, confirming simply
returns you to the list.
