> For the complete documentation index, see [llms.txt](https://docs.flash.trade/flash-trade/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flash.trade/flash-trade/flash-trade-protocol/build-on-flash/flash-trade-v2/guides/discover-markets-and-stay-current.md).

# Discover markets & stay current

Flash lists new markets and tokens over time, and retires old ones. The API reflects those changes on its own — so read the live set at runtime instead of hardcoding it, and long-running services stay current without a redeploy.

### The market set is not fixed

New pools, tokens, and markets go live as Flash lists them; some are retired. You do not redeploy or upgrade anything to see the change — the API picks it up within about 30 seconds and serves the new market like any other. A market or token list you hardcode today silently goes stale the first time Flash lists a pair.

Read these three endpoints at request time and treat them as the source of truth:

| Endpoint         | What it gives you                                                                                                                   |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `GET /pool-data` | Every pool with its custodies and markets — symbol, `maxLeverage`, open interest, caps. The canonical "what can I trade right now". |
| `GET /tokens`    | Every supported token — `symbol`, `mint`, `decimals`, `isToken2022`, `lazerId`. Deduplicated across pools.                          |
| `GET /prices`    | Live price per symbol, with `marketSession` for equities.                                                                           |

### Discover what's tradeable

Enumerate markets from `/pool-data`, never a static list:

```bash
curl $FLASH_API_URL/pool-data
```

Each pool carries `custodyStats[]` (per-symbol `maxLeverage`) and `marketStats[]` (per-market side and open interest). Together they are the live market set — crypto, forex, commodities, and equities alike. Leverage caps live here too, so read them rather than carrying a constant: the same market can list at very different caps across assets.

To act on a token you need its `mint` and `decimals` — the deposit and withdrawal endpoints take the mint, not the symbol. Read them from `/tokens`:

```bash
curl $FLASH_API_URL/tokens
```

{% hint style="info" %}
**Resolve the mint and decimals from `/tokens`; never assume them.** `/tokens` reports `decimals` and `isToken2022` per token — assuming 6 decimals breaks Token-2022 assets, and a hardcoded mint misses every new listing.
{% endhint %}

### Stay current in a long-running service

Bots, keepers, and backends should not restart to pick up a listing. Re-read `/pool-data` and `/tokens` on an interval and refresh your in-memory view — a newly listed market appears on its own. Polling every 30–60 seconds is plenty: listings are rare, and the API already refreshes its own config on a similar cadence.

Keep your last good view when a fetch fails or returns an empty `pools` array — that is almost always a transient network problem, not a mass delisting.

{% hint style="info" %}
**Building on the SDK instead of REST?** The [Dynamic Pool & Token Data](https://docs.flash.trade/flash-trade/flash-trade-protocol/build-on-flash/flash-sdk-v2/dynamic-pool-and-token-data) guide covers reading the same live config from Flash's CDN manifest and hot-reloading it with `PoolConfig`.
{% endhint %}

### Related

* [API reference › Market data](https://docs.flash.trade/flash-trade/flash-trade-protocol/build-on-flash/flash-trade-v2/reference/market-data) — exact request and response shapes for `/pool-data`, `/tokens`, `/prices`, and `/raw/*`.
* [Prices & markets](https://docs.flash.trade/flash-trade/flash-trade-protocol/build-on-flash/flash-trade-v2/concepts/prices-and-markets) — where prices come from and how market sessions work.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.flash.trade/flash-trade/flash-trade-protocol/build-on-flash/flash-trade-v2/guides/discover-markets-and-stay-current.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
