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

> ## Agent Instructions
> Spreader is a web service that tracks arbitrage spreads between crypto exchanges. This documentation covers only what a user of the service sees and does.
> Page paths starting with /en/ are English. Translations live under /ru/ and /uk/ with the same file names.
> Screenshots are illustrations. Every screenshot is accompanied by text that states the same facts, so you do not need to see the image.

# How trading works

> Trading from the spread page opens and closes both legs of a pair on your own exchange accounts through API keys you add. It is optional, off until keys are added, and every order is your decision.

Trading is a set of optional features for signed in users: exchange API keys, a trade panel on the spread page, an order terminal on the market page, positions, and an Auto mode that fills a position in chunks by the order books. Nothing is traded until you add a key and press a button.

> [!WARNING]
>
> Cross exchange trading carries real risk: a leg can fill while the other does not, funding can turn against you, an exchange can halt a market or close deposits. Spreader shows the numbers and sends the orders you ask for. Check balances, limits and exchange rules yourself.

## Steps to the first trade

1. Create API keys on the exchange with trading permissions and **without withdrawal**, and add them in **Settings › Markets API**, see [Exchange keys](https://docs.spreader.sh/en/trading/keys.md).
2. Review **Settings › Trade**, see [Trade settings](https://docs.spreader.sh/en/trading/settings.md).
3. Open a spread page where both legs are on exchanges with verified keys. The **Trade** panel unlocks.
4. Open the position in **Semi** or **Manual**, or start **Auto**, see [Opening and closing](https://docs.spreader.sh/en/trading/manual.md) and [Auto](https://docs.spreader.sh/en/trading/auto.md).
5. Follow the position in the **Position** tab and in **Tools › Positions**, see [Positions](https://docs.spreader.sh/en/trading/positions.md).

## Exchanges with trading

Bybit, Binance, Gate, MEXC, Bitget, OKX, KuCoin, HTX, WhiteBIT, Coinbase, BingX, Hyperliquid, AsterDEX, Lighter, Robinhood Lighter, Kraken. Other venues show **Trading on ‹name› is not connected yet**.

## When the panel is locked

The trade panel blurs on hover and shows the reason for each leg:

| Reason | Meaning |
| - | - |
| **Log in to trade** | Guests cannot trade. |
| **Sign in and connect exchange API keys to trade** | No key for this exchange, with **open keys**. |
| `key is not verified`, `key check failed`, `key expired — create a new one` | Fix the key in **Settings › Markets API**. |
| `trading is not connected yet` | The exchange has no trading support. |
| `spot cannot be shorted — the short leg must be a perpetual or a margin market` | The pair cannot be traded in this direction. |
| `margin trading is coming` | Margin legs are not tradeable yet. |
| **Trading is temporarily disabled** | No exchange route is available right now, try again in a few minutes. |
| **Trading server is unavailable** | Reconnecting, your positions and orders are kept. |

## Where orders are signed

Keys never leave the server, orders are signed there, so no IP whitelist is needed for your keys. Some exchanges expire a key without an IP whitelist after a number of days, the keys page warns you 7 days before.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.