> ## 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.

# Telegram bot

> Register, deposit, buy markets and run copy trades from a chat window.

The Ballista bot is the front door to your account. Sending `/start` creates your
wallet and your Polymarket account, and from that moment the same account and the
same balance are shared by the web terminal and the Chrome extension — you sign
into both with the same Telegram account.

Everything the bot does happens inside one chat. Tapping buttons rewrites the menu
in place; anything you have to type — a link, a price, a setting — gets its own
messages.

## What you can do here

<CardGroup cols={2}>
  <Card title="Buy a market" icon="link" href="/telegram/buying">
    Paste a Polymarket link and buy Yes or No with fixed amounts, a custom
    amount, or a limit order.
  </Card>

  <Card title="Deposit" icon="wallet" href="/telegram/wallet">
    One EVM address for six chains, plus Solana and Bitcoin.
  </Card>

  <Card title="Watch your positions" icon="chart-simple" href="/telegram/positions">
    Size, average price, current price and value for everything you hold.
  </Card>

  <Card title="Copy a trader" icon="copy" href="/telegram/copy-trades">
    Mirror any wallet's trades, with the full settings form.
  </Card>

  <Card title="Earn referrals" icon="gift" href="/telegram/referrals">
    Claim a code, share a link, collect a share of your referrals' fees.
  </Card>

  <Card title="Export your key" icon="key" href="/telegram/wallet">
    Take custody of the wallet Ballista created for you.
  </Card>
</CardGroup>

## The one place the full copy-trade form lives

The bot is the only surface that exposes every copy-trade setting — around thirty
of them, from sizing and slippage down to price bands, spend caps and market-type
filters. If you want to tune a strategy precisely, do it here. See
[the copy-trade form](/telegram/copy-trade-form) for the field-by-field walkthrough
and [copy-trade settings](/guides/copy-trade-settings) for what each one means.

Referrals are bot-only too.

## What the bot does not do

Some things deliberately live on the other surfaces:

| Not in the bot                    | Where it lives                        |
| --------------------------------- | ------------------------------------- |
| Trader leaderboard                | [Web terminal](/terminal/overview)    |
| Backtesting a copy-trade strategy | [Web terminal](/terminal/overview)    |
| Price alerts                      | [Chrome extension](/extension/alerts) |

The bot also **only buys**. There is no sell button, no order cancellation and no
trade history in chat — the bot places market and limit buys, shows you what you
hold, and leaves the rest to the terminal.

<Info>
  There is no withdrawal screen anywhere in Ballista. Taking funds out starts with
  **Export Keys** — but the key is your signing wallet, not the account holding
  the money, so you import it and withdraw on Polymarket itself. See
  [Wallet and keys](/guides/wallet-and-keys).
</Info>

## Getting started

1. Open the bot and send `/start`. Your wallet and Polymarket account are created
   for you — see [Create your account](/guides/create-account).
2. Deposit at least \$10. See [Deposits](/guides/deposits).
3. Send `/buy` with a Polymarket link, or tap **Buy** on the menu.
