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

# Deposits

> Four addresses, minimum $10, and the assets each one accepts.

Funding your account means sending crypto to one of four addresses. Three of
them are bridge addresses that convert what you send and forward it to your
Polymarket balance; the fourth is your Polymarket proxy wallet, which you can
top up directly on Polygon.

All four are listed in the Telegram bot under **Deposit & Wallet** and in the web
terminal's deposit dialog. The extension's wallet tab shows the three bridge
addresses behind a **Show deposit addresses** toggle, with your proxy wallet
above them under **Profile**. They belong to your account permanently — the same
address works every time.

<Warning>
  Send at least **\$10** worth. Smaller amounts are not worth bridging and may not
  arrive. The bot and the terminal print this minimum on the deposit screen; the
  extension does not, but it applies there too.
</Warning>

## EVM networks

One address covers all six chains. Send from whichever is cheapest for you.

| Network  | Accepted        |
| -------- | --------------- |
| Polygon  | USDC, USDT      |
| Ethereum | ETH, USDC, USDT |
| BSC      | BNB, USDC, USDT |
| Arbitrum | ARB, USDC, USDT |
| Optimism | USDC, USDT      |
| Base     | USDC, USDT      |

## Solana

A separate address, accepting native **SOL** or **USDC**.

## Bitcoin

A separate address, accepting native **BTC** on-chain only.

## Your Polymarket profile

This is your proxy wallet itself, on Polygon — no bridge hop. It accepts
**USDC.e**, **USDC**, **USDT** and **pUSD**. Use it when you already hold funds
on Polygon and want them credited without a conversion.

<Info>
  The Telegram bot and the terminal's deposit dialog link this address to its
  Polymarket profile page and to PolygonScan, so you can watch a deposit land
  from the block explorer if you want confirmation before your balance updates.
  The extension shows the address but does not link it.
</Info>

## Choosing an address

Match the address to the chain you are sending from, not to the asset. Sending a
Solana asset to the EVM address, or an EVM asset to the Bitcoin address, loses
the funds — as it would anywhere else in crypto.

Copy the address from the app rather than typing it. The bot, the terminal and
the extension all give you a one-tap copy for the bridge addresses; in the
extension the proxy address under **Profile** has no copy button, so select it
by hand or take it from the bot or the terminal instead.

Deposits are credited to the one balance shared by the bot, the terminal and the
extension, so it does not matter which surface you deposited from.

## Getting funds back out

There is no withdrawal button in Ballista. The way out is to export your private
key and withdraw through Polymarket with it — see
[Your wallet and keys](/guides/wallet-and-keys).

## What to read next

<CardGroup cols={2}>
  <Card title="Placing orders" icon="chart-line" href="/guides/orders">
    Now spend it.
  </Card>

  <Card title="Limits" icon="ruler" href="/guides/limits">
    Every minimum and cap in one place.
  </Card>
</CardGroup>
