# Markets · API reference · Femtos

> Every tradable perp, spot, HIP-3 and outcome market with 24 h stats. GET /v1/markets on Elysium, HyperCore and HyperEVM: parameters, response fields and a live call per layer.

- Base URL: `https://api.femtos.xyz/v1` (REST) · `wss://api.femtos.xyz/v1/ws` (WebSocket) · MCP: `https://api.femtos.xyz/mcp`
- Auth: `Authorization: Bearer $FEMTOS_KEY`. Free key: https://femtos.xyz/account/new (browser), or with
  no browser: `GET https://femtos.xyz/accounts/agent/challenge`, solve its proof of work, then `POST https://femtos.xyz/accounts/agent/signup`
  (https://femtos.xyz/agents.md#agent-onboarding)
- Decimals are exact strings, times Unix milliseconds, addresses lowercase `0x`
- Whole API in one file: https://femtos.xyz/agents.md · OpenAPI: https://api.femtos.xyz/v1/openapi.json · Index: https://femtos.xyz/llms.txt
- Page with live calls: https://femtos.xyz/reference/markets

## Markets — GET `/v1/markets`

- Elysium: Active Elysium pools with 24 h stats.
- HyperCore: Every tradable perp, spot, HIP-3 and outcome market with 24 h stats.
- HyperEVM: Active HyperEVM pools with 24 h stats.

Layers: Elysium, HyperCore, HyperEVM.
Page with live calls: https://femtos.xyz/reference/markets?layer=<elysium|hypercore|hyperevm>

| Param | In | Example or values | Meaning |
|---|---|---|---|
| `layer` | query | `elysium` (Elysium); `hypercore` (HyperCore); `hyperevm` (HyperEVM) | Layer (none: HyperCore + Elysium + top 100 HyperEVM pools) |
| `includeSpam` | query | `(empty)`, `true` | EVM pools of spam tokens (base or quote flagged in tokens.spam), flagged spam / spamReason; left out by default (and out of X-Total-Count) (Elysium, HyperEVM) |
| `cursor` | query | (optional) | Next page: `next_cursor` of the previous answer (Elysium, HyperEVM) |
| `includeOutcomes` | query | `(empty)`, `true` | HyperCore outcome markets (HyperCore) |

Elysium:

```bash
curl -H "Authorization: Bearer $FEMTOS_KEY" "https://api.femtos.xyz/v1/markets?layer=elysium"
```

HyperCore:

```bash
curl -H "Authorization: Bearer $FEMTOS_KEY" "https://api.femtos.xyz/v1/markets?layer=hypercore"
```

HyperEVM:

```bash
curl -H "Authorization: Bearer $FEMTOS_KEY" "https://api.femtos.xyz/v1/markets?layer=hyperevm"
```

| Field | Type | Meaning |
|---|---|---|
| `id` | string | Market id: HyperCore coin, EVM pair address (use as `market` / `pair`) |
| `symbol` | string | BASE/QUOTE |
| `base` | string | Base symbol |
| `quote` | string | Quote symbol |
| `kind` | perp \| spot \| hip3 \| outcome \| pool | perp, spot, hip3 (HIP-3 dex perp), outcome (HyperCore outcome market), pool (EVM DEX pool) |
| `protocol` | string | EVM pools: DEX protocol (Elysium, HyperEVM) |
| `feeTier` | int | EVM pools: fee tier (Elysium, HyperEVM) |
| `price` | decimal \| null | Last price in quote (EVM: last daily close) |
| `change24h` | number \| null | % change over 24 h |
| `volume24hUsd` | decimal \| null | 24 h volume, USD |
| `trades24h` | int | 24 h trades |
| `mcapUsd` | decimal \| null | EVM pools: market cap at the last daily close (Elysium, HyperEVM) |
| `spam` | boolean | EVM pools: base or quote is a spam token (tokens.spam); out of /api/markets unless includeSpam (Elysium, HyperEVM) |
| `spamReason` | string \| null | EVM pools: the spam token's reason. Why the indexer flags it, comma list, strongest first: homoglyph:<T> (looks like token T), impostor:<T> (claims to be T; never alone), phishing_name, fake_transfers, unreadable_balance (balanceOf reverts: no ERC-20 behind its Transfer logs), verifier_ignore; null when not spam (Elysium, HyperEVM) |
| `Link rel="next"` | header | an array: the next page URL, its cursor to pass as cursor (Elysium, HyperEVM) |
| `szDecimals` | int | HyperCore: size decimals of the market (HyperCore) |
| `maxLeverage` | int | HyperCore perps: maximum leverage (HyperCore) |
| `dex` | string | HIP-3: the dex of the perp (xyz in xyz:TSLA) (HyperCore) |
| `outcome` | object | HyperCore outcome markets: what the market settles on: {id, side, title, sideName, description, question} (HyperCore) |

Next page: `cursor` = the `next_cursor` of the previous answer (https://femtos.xyz/agents.md#pagination).

## Related (Market data)

- [Candles](https://femtos.xyz/reference/candles.md) `GET /v1/candles`: OHLCV of any HyperCore market down to 1 s, ascending, UTC-aligned. (Elysium, HyperCore, HyperEVM)
- [Forming candle](https://femtos.xyz/reference/ws/candles.md) `WS elysium.candles · hc.candles · hyperevm.candles`: The forming candle, pushed once per block where it changes. (Elysium, HyperCore, HyperEVM)
- [Token candles](https://femtos.xyz/reference/token-candles.md) `GET /v1/candles`: OHLCV of a token through its USDC market (a perp coin: the perp). (Elysium, HyperCore, HyperEVM)
- [Trades](https://femtos.xyz/reference/trades.md) `GET /v1/trades`: Latest fills of one market, newest first. (Elysium, HyperCore, HyperEVM)
- [Trades stream](https://femtos.xyz/reference/ws/trades.md) `WS elysium.trades · hc.trades · hyperevm.trades`: All trades of one market as they happen: raced between our node and Hyperliquid's public feed, first copy sent, the other dropped. (Elysium, HyperCore, HyperEVM)
- [Order book](https://femtos.xyz/reference/book.md) `GET /v1/book`: L2 book of one market with order counts, from our node. (HyperCore)
- [Book stream](https://femtos.xyz/reference/ws/book.md) `WS hc.book`: Full-depth book, then the levels each block changes. (HyperCore)
- [Best bid / offer](https://femtos.xyz/reference/ws/bbo.md) `WS hc.bbo`: Top of book of one market each block: raced between Hyperliquid's public feed and our node (newest block wins, our node corrects the same block). (HyperCore)
- [Order updates](https://femtos.xyz/reference/ws/orders.md) `WS hc.orders`: Every order status change, filterable by coin, user and status. (HyperCore)
- [Token prices](https://femtos.xyz/reference/prices.md) `GET /v1/prices`: USD price of up to 100 tokens in one call, each with its source and provenance. (Elysium, HyperCore, HyperEVM)
- [Price history](https://femtos.xyz/reference/price-history.md) `GET /v1/prices/history`: USD closes per unit of up to 25 tokens over a window, or the price of 100 tokens at one time (at=). (Elysium, HyperCore, HyperEVM)
- [HYPE price](https://femtos.xyz/reference/ws/prices.md) `WS prices.hype`: HYPE from the Hyperliquid oracle, perp mark and exchanges. (HyperCore)
- [Pool detail](https://femtos.xyz/reference/pool.md) `GET /v1/pools/{address}`: One pool: dex, fee, tokens, liquidity in USD, depth, 5m to 24h activity, top LPs. (Elysium, HyperEVM)
- [Liquidity events](https://femtos.xyz/reference/liquidity.md) `GET /v1/liquidity`: Liquidity added to and removed from one pool, newest first. (Elysium, HyperEVM)
- [Daily token volume](https://femtos.xyz/reference/volume.md) `GET /v1/volume`: USD swap volume of a token per UTC day, both sides of every priced swap. (Elysium, HyperEVM)

Every page: https://femtos.xyz/reference.md
