# Femtos | Pool screener | API reference

> The pools of HyperEVM, one row each: trending, volume, gainers, losers, new, market cap, liquidity. GET /v1/pools/top 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/pools-top

## Pool screener — GET `/v1/pools/top`

- Elysium: The pools of Elysium, one row each: trending, volume, gainers, losers, new, market cap, liquidity.
- HyperEVM: The pools of HyperEVM, one row each: trending, volume, gainers, losers, new, market cap, liquidity.

Layers: Elysium, HyperEVM. Not on HyperCore: HyperCore markets are no pools: GET /v1/markets?layer=hypercore lists them.
Page with live calls: https://femtos.xyz/reference/pools-top?layer=<elysium|hyperevm>

| Param | In | Example or values | Meaning |
|---|---|---|---|
| `layer` | query | `elysium` (Elysium); `hyperevm` (HyperEVM) | EVM layer |
| `sort` | query | `(empty)`, `trending`, `volume`, `gainers`, `losers`, `new`, `mcap`, `liquidity` | trending: trendScore, the rows whose score is 0 left out (they are in new / volume); volume: volume24hUsd; gainers / losers: change24h (rows without one left out); new: createdAt, newest first; mcap: mcapUsd; liquidity: liquidityUsd. Ties: volume24hUsd, then address. A token whose price implies a market cap (FDV without a circulating supply) over $1,000 T (a broken price) comes last in every sort but new |
| `limit` | query | `20` | Rows |

Elysium:

```bash
curl -H "Authorization: Bearer $FEMTOS_KEY" "https://api.femtos.xyz/v1/pools/top?layer=elysium&limit=20"
```

HyperEVM:

```bash
curl -H "Authorization: Bearer $FEMTOS_KEY" "https://api.femtos.xyz/v1/pools/top?layer=hyperevm&limit=20"
```

| Field | Type | Meaning |
|---|---|---|
| `layer` | string | Layer |
| `sort` | trending \| volume \| gainers \| losers \| new \| mcap \| liquidity | The sort answered |
| `total` | int | Pools matching the sort (trending: a score over 0; gainers / losers: a change24h) |
| `pools[]` | object | The first `limit` pools, in the order of `sort`: {address, dex, base, quote, launchpad, price, priceUsd, feeTier, feePct, liquidityUsd, change24h, createdAt, …} |
| `windowsEnd` | ms | End of the windows (the indexed head while the layer syncs) |
| `asOf` | ms | Time of `height` |
| `height` | int | Head block of the layer the answer is cut at: every event up to it is counted |
| `syncing` | true | Present while the layer syncs: data only up to dataUntil |
| `dataUntil` | ms | Indexed head time while the layer syncs |

## 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, its last 5 minutes and last hour, and a trending score. (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), or the markets of a watchlist (`pairs`), 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)
- [Token screener stream](https://femtos.xyz/reference/ws/tokens-top.md) `WS elysium.tokens.top | hyperevm.tokens.top`: The GET /v1/tokens/top answer of HyperEVM (one row per token with activity (a swap in 24 h, or a pool created in the last hour), over all its pools: price, 1 h / 24 h change, volume, liquidity, market cap, holders, trending score), or the rows of a watchlist (`addresses`), pushed on subscribe, then on each indexed block with a swap: the rows of the pools each indexed block traded made again at once (5 m / 1 h windows and traders, price, market cap, FDV, last trade, trend score), in the order of the last rebuild; the order and the other fields at each rebuild (at most every 60 s). (Elysium, HyperEVM)
- [Pool screener stream](https://femtos.xyz/reference/ws/pools-top.md) `WS elysium.pools.top | hyperevm.pools.top`: The GET /v1/pools/top answer of HyperEVM (one row per pool of the tokens with activity (a swap in 24 h, or a pool created in the last hour): both tokens, liquidity, windows, trending score), pushed on subscribe, then on each indexed block with a swap: the rows of the pools each indexed block traded made again at once (5 m / 1 h windows and traders, price, market cap, FDV, last trade, trend score), in the order of the last rebuild; the order and the other fields at each rebuild (at most every 60 s). (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)
- [Swap history stream](https://femtos.xyz/reference/ws/trades-history.md) `WS elysium.trades.history | hyperevm.trades.history`: 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. (Elysium, 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)
- [Predicted funding](https://femtos.xyz/reference/predicted-funding.md) `GET /v1/hypercore/funding/predicted`: The funding rate each perp, HIP-3 included, will pay at the next hour if it ended now, with its average premium and formula terms. (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)
- [Sandwiches](https://femtos.xyz/reference/mev-sandwiches.md) `GET /v1/mev/sandwiches`: Every sandwich on Elysium, newest first: the victim, the bot, the pool, the USD lost. (Elysium)
- [Sandwich stream](https://femtos.xyz/reference/ws/mev.md) `WS elysium.mev`: Each sandwich (MEV) on Elysium pools, the moment its back-run is indexed. (Elysium)
- [MEV stats](https://femtos.xyz/reference/mev-stats.md) `GET /v1/mev/stats`: What bots took on Elysium over a window: sandwiches, victims, arbitrage, top bots, pools and routers. (Elysium)
- [Sandwich bots](https://femtos.xyz/reference/mev-bots.md) `GET /v1/mev/bots`: The sandwich bots of Elysium, most USD taken first. (Elysium)
- [Sandwich bot](https://femtos.xyz/reference/mev-bot.md) `GET /v1/mev/bots/{address}`: One sandwich bot of Elysium: what it took, from whom, where. (Elysium)

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