# Swap history stream | API reference | Femtos

> The latest swaps of a token or pool on HyperEVM (GET /v1/trades with filters), pushed on subscribe, then each block with a new swap it shows. WebSocket channels elysium.trades.history | hyperevm.trades.history on Elysium 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://dashboard.femtos.xyz/signup (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/ws/trades-history

WebSocket: get a ticket (`POST https://api.femtos.xyz/v1/ws-ticket` with your key), connect to `wss://api.femtos.xyz/v1/ws?ticket=$TICKET`, send the frame below; the first message has `"snapshot": true`. Details: https://femtos.xyz/agents.md#websocket

## Swap history stream — WS `elysium.trades.history | hyperevm.trades.history`

- Elysium: The latest swaps of a token or pool on Elysium (GET /v1/trades with filters), pushed on subscribe, then each block with a new swap it shows.
- HyperEVM: The latest swaps of a token or pool on HyperEVM (GET /v1/trades with filters), pushed on subscribe, then each block with a new swap it shows.

Layers: Elysium, HyperEVM. Not on HyperCore: HyperCore fills: hc.trades (one coin), wallet (one account).
Page with live calls: https://femtos.xyz/reference/ws/trades-history?layer=<elysium|hyperevm>

| Param | In | Example or values | Meaning |
|---|---|---|---|
| `token` | filter | `0xba876237b0f021a6c6d852d6c26e107997cc5e81` (Elysium); `0x5555555555555555555555555555555555555555` (HyperEVM) | Swaps where this token is base or quote (token or pool required) |
| `pool` | filter | (optional) | Swaps of one pool, its pool key (token or pool required) |
| `side` | filter | (optional) | Buys or sells of the base |
| `minUsd` | filter | (optional) | Smallest USD value at the swap |
| `limit` | filter | (optional) | Swaps, newest first, default 50 (1..50) |

Elysium:

```json
{"op":"subscribe","channel":"elysium.trades.history","filter":{"token":"0xba876237b0f021a6c6d852d6c26e107997cc5e81"}}
```

HyperEVM:

```json
{"op":"subscribe","channel":"hyperevm.trades.history","filter":{"token":"0x5555555555555555555555555555555555555555"}}
```

| Field | Type | Meaning |
|---|---|---|
| `snapshot: true` | object | the full GET /v1/trades answer: the first frame, and any frame sent whole |
| `patch: true` | JsonPatch | with "patch": true on subscribe: the operations, in order, that turn the previous answer into this one |
| `billing` | rest | the snapshot a subscribe asks for counts as GET /v1/trades (rest); every other frame by its bytes (1 credit per 48 KiB) |

## Related (Market data)

- [Markets](https://femtos.xyz/reference/markets.md) `GET /v1/markets`: Every tradable perp, spot, HIP-3 and outcome market with 24 h stats. (Elysium, HyperCore, HyperEVM)
- [Markets stream](https://femtos.xyz/reference/ws/markets.md) `WS elysium.markets | hc.markets | hyperevm.markets`: The GET /v1/markets list of HyperCore (prices, 24 h volume and change), pushed on subscribe and when it changes. (Elysium, HyperCore, HyperEVM)
- [Token screener](https://femtos.xyz/reference/tokens-top.md) `GET /v1/tokens/top`: The tokens of HyperEVM, one row each over all their pools: trending, volume, gainers, losers, new, market cap, liquidity. (Elysium, HyperEVM)
- [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)
- [Token candles stream](https://femtos.xyz/reference/ws/token-candles.md) `WS elysium.token.candles | hc.token.candles | hyperevm.token.candles`: A token's candles by name (its USDC market; a perp coin: the perp), the forming candle pushed once per block where it changes. (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)
- [Named wallets on the book](https://femtos.xyz/reference/ws/book-named.md) `WS hc.book.named`: Who sits on the book: the resting limit orders of the named wallets (funds, traders, KOLs), by level, live. (HyperCore)
- [Walls on the book](https://femtos.xyz/reference/ws/book-walls.md) `WS hc.book.walls`: Every large resting order on the book with its owner, live, and whether that owner's walls hold or are pulled when the price comes. (HyperCore)
- [Wall reliability](https://femtos.xyz/reference/walls.md) `GET /v1/hypercore/walls`: Which accounts' large resting orders hold when the price comes, and which are pulled. (HyperCore)
- [Walls held or pulled](https://femtos.xyz/reference/walls-events.md) `GET /v1/hypercore/walls/events`: One market's walls the price came to, one by one: held or pulled, when and whose. (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)
- [Asset contexts stream](https://femtos.xyz/reference/ws/ctx.md) `WS hc.ctx`: Mark, oracle, mid, funding, open interest and 24 h volume of every HyperCore market, pushed as they change: one read per second for every subscriber. (HyperCore)
- [Order updates](https://femtos.xyz/reference/ws/orders.md) `WS hc.orders`: Every order status change, filterable by coin, user and status. One frame per block with all its matching events. (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 HyperCore’s spot mid (each block), the Hyperliquid oracle and perp mark, and exchanges. (HyperCore)
- [Token prices stream](https://femtos.xyz/reference/ws/token-prices.md) `WS elysium.prices | hyperevm.prices`: USD prices of up to 100 HyperEVM tokens, as GET /v1/prices answers them, pushed in each block that changes one. (Elysium, HyperEVM)
- [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)
- [Pool stream](https://femtos.xyz/reference/ws/pool.md) `WS elysium.pool | hyperevm.pool`: One pool on HyperEVM (GET /v1/pools/{address}: price, liquidity and depth, 5m to 24h activity, LPs), pushed on subscribe, then in each block that touches it: swap, liquidity added or removed, balance moved. (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)
- [Liquidity events stream](https://femtos.xyz/reference/ws/liquidity.md) `WS elysium.liquidity | hyperevm.liquidity`: Liquidity added to and removed from one pool on HyperEVM (GET /v1/liquidity), pushed on subscribe, then in each block that adds or removes some. (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
