For the complete documentation index, see llms.txt. This page is also available as Markdown.

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:

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:

curl $FLASH_API_URL/tokens

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.

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.

Building on the SDK instead of REST? The Dynamic Pool & Token Data guide covers reading the same live config from Flash's CDN manifest and hot-reloading it with PoolConfig.

Was this helpful?