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

# Getting around

> The command palette, the search box, and the theme shortcut.

Two ways to find a market, and one keyboard shortcut.

## The command palette

Press **⌘K** — or **Ctrl+K** — anywhere in the terminal. A search box opens over
whatever you were looking at.

<Steps>
  <Step title="Type part of a market's name">
    Results appear as you type, up to eight at a time. Each one shows the event
    image, its title and the current Yes price of its first market.
  </Step>

  <Step title="Pick one">
    Use the up and down arrows to move through the list and Enter to open the
    highlighted result, or just click it.
  </Step>

  <Step title="Or back out">
    Escape closes the palette and leaves you where you were. ⌘K closes it too.
  </Step>
</Steps>

The palette goes straight to a market page. It does not search wallets, orders or
settings.

## The search box

The search box in the top bar does the same search, but it changes the page under
you: type in it and the Markets page reloads showing your results. It fires shortly
after you stop typing rather than on Enter.

Because the query lives in the address bar, a search is a link you can bookmark or
share. Clearing the box takes you back to the unfiltered Markets page, and switching
to the Crypto category clears it for you.

<Tip>
  The palette is the better tool when you know what you are looking for and want to
  land on it. The search box is better when you want to browse what came back.
</Tip>

## The theme shortcut

Press **d** to switch between light and dark.

It is ignored while you are typing — in a text box, a text area, or anything else
editable — so a `d` in the market search stays a `d`. Holding Command, Control or Alt
skips it, and holding the key down does not flip the theme over and over.

The guard covers text entry only. Ballista's dropdowns are custom controls rather than
native ones, so `d` still fires while one of them has focus.

If you are on the system setting, `d` moves you off it to the opposite of whatever your
system currently is, so one press always changes what you see.

<Note>
  The sun/moon button in the top bar is not quite the same control. It reads the
  *setting* rather than the theme on screen, so if you are on the system setting with a
  dark system, the first click sets "dark" — what you were already looking at — and
  nothing appears to happen. Click it again to reach light, or use `d`, which resolves
  your system theme first.
</Note>

## Looking up a wallet

Addresses are not in the palette. To open a trader's profile from an address you
already have, use the **Look up a wallet** box on the
[Leaderboard](/terminal/leaderboard) — it works for any wallet that has traded, on
the board or not.

## What to read next

<CardGroup cols={2}>
  <Card title="Markets" icon="chart-line" href="/terminal/markets">
    Where the search box and the palette both land you.
  </Card>

  <Card title="A market page" icon="table-columns" href="/terminal/market-page">
    The chart, the book, and the tabs under them.
  </Card>
</CardGroup>
