# How ftw.trade works

> The five parts every trading system on ftw.trade is made of, and how they connect. Read this once and every other page will make sense.

Every system you build on ftw.trade is the same pipeline. Data comes in, something decides, and something trades.

```text
sources ──> strategies / workflows ──> actions ──> wallets
(what to     (how to decide)           (what to    (where the money
 watch)                                 do)         is, in a project)
```

The Flow page in the app draws this graph live for your account: every source, every strategy with its metrics and runs, every workflow with its steps, and every action, with anything broken flagged first.

## Sources: what to watch

A source is anything a strategy or workflow can read. There are two families.

- **Markets** give bars: a pool on any EVM chain or Solana, a Hyperliquid or Lighter market, a shared price feed, or a Polymarket outcome.
- **Typed sources** give events: a filter over ftw.trade's own streams (launches, swaps, order books), a websocket, a polled API, a contract's events, or a service of yours that pushes to ftw.trade.

Shared market data (crypto, stocks, commodities, lending rates) is free to every account. See [Sources](https://docs.ftw.trade/sources/overview).

## Strategies and workflows: how to decide

- A **strategy** is a small program in [Flowscript](https://docs.ftw.trade/flowscript/overview), run once per closed bar. The same code backtests over history and runs live, making the same decisions. It can buy and sell spot, trade perps, hold liquidity ranges and use DeFi protocols.
- A **workflow** is a trigger followed by steps: when a price is crossed, a token launches or a signal arrives, do this, then wait, then do that. See [Workflows](https://docs.ftw.trade/automate/workflows).

Each strategy publishes **metrics**, the values it decides on, so you can always see why it did or didn't trade.

## Actions: what to do

Most actions are built in: buys, sells, resting orders, perps orders, liquidity ranges, bridges, launches and private sends. They run the moment a bar closes or a step starts. For anything else (calling an outside API, posting to Telegram, bespoke logic) you write a short [TypeScript script](https://docs.ftw.trade/automate/scripts) that runs in ftw.trade's sandbox.

## Wallets and projects: where the money is

- A **project** holds it all together: its wallets (labeled and grouped), the strategies and workflows that trade them, and its dashboards. A project is either paper or live.
- **Wallets** are keys ftw.trade holds for you, encrypted and kept in an isolated signer. No code, script or AI ever sees a key. See [Wallets](https://docs.ftw.trade/wallets/overview).

## Paper and live

Everything starts on paper. Paper fills are quoted at live routes and prices, so paper P&L is realistic, but nothing is sent on chain. When you're ready, you switch a project to live and the same strategies trade real money. See [Paper and live](https://docs.ftw.trade/start/paper-and-live).

## Words you'll see

| Word | Means |
|---|---|
| Series | What a strategy runs on: `pool:base:0x…`, `perp:hyperliquid:BTC`, `feed:btc-usd-coinbase`, `poly:<token id>` |
| Deployment | One running copy of a strategy (its id starts `sd_`) |
| Automation | What the API calls a TypeScript script |
| Metric | A value a strategy publishes each bar with `metric(name, value)` |
| Dealing | The moment a vault's investors' orders fill, at that NAV |

The [Glossary](https://docs.ftw.trade/help/glossary) has the rest.
