# New pools · API reference · Femtos

> Every new pair or pool on HyperEVM, from every discovered factory and PoolManager, newest first. GET /v1/pools/new 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://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/new-pools

## New pools — GET `/v1/pools/new`

- Elysium: Every new pair or pool on Elysium, from every discovered factory and PoolManager, newest first.
- HyperEVM: Every new pair or pool on HyperEVM, from every discovered factory and PoolManager, newest first.

Layers: Elysium, HyperEVM. Not on HyperCore: served on Elysium and HyperEVM only.
Page with live calls: https://femtos.xyz/reference/new-pools?layer=<elysium|hyperevm>

| Param | In | Example or values | Meaning |
|---|---|---|---|
| `layer` | query | `elysium` (Elysium); `hyperevm` (HyperEVM) | EVM layer |
| `limit` | query | `20` | Rows |
| `newTokenOnly` | query | `(empty)`, `true`, `false` | Only pools with a new token (newToken not null) |
| `minLiquidityUsd` | query | (optional) | Minimum liquidity.usd |
| `dex` | query | (optional) | Protocol (hyperswap_v3, projectx_v3, uniswap_v4, pancake_infinity_cl, liquidlaunch…) |
| `token` | query | (optional) | Pools of this token, either side (0x) |
| `quote` | query | (optional) | Pools quoted in this token (0x), e.g. WHYPE |
| `includeSpam` | query | `(empty)`, `true` | Show spam tokens (tokens.spam: homoglyph, impostor, phishing name, fake transfers…) flagged spam / spamReason; left out of the list by default |
| `cursor` | query | (optional) | Next page: `next_cursor` of the previous answer |

Elysium:

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

HyperEVM:

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

| Field | Type | Meaning |
|---|---|---|
| `layer` | string | Layer |
| `pools[]` | object | Newest first: {seq, address, dex, factory, feeTier, tickSpacing, hooks, token0, token1, base, quote, newToken, …} |
| `next_cursor` | string \| null | Opaque cursor of the next page: pass it as `cursor`, unchanged. null on the last page |
| `scanned` | int | Pools examined for this page |
| `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 |

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

## Related (Launches)

- [Launches](https://femtos.xyz/reference/launches.md) `GET /v1/launches`: Latest LiquidLaunch bonding-curve launches, newest first. (Elysium, HyperEVM)
- [Launches stream](https://femtos.xyz/reference/ws/launches.md) `WS elysium.launches · hyperevm.launches`: One message per new LiquidLaunch launch, the moment its block is indexed. (Elysium, HyperEVM)
- [Launch detail & signals](https://femtos.xyz/reference/signals.md) `GET /v1/launches/{token}`: Metrics, dev wallet, early buyers and risk signals of one launch. (Elysium, HyperEVM)
- [Launch holders](https://femtos.xyz/reference/launch-holders.md) `GET /v1/launches/{token}/holders`: Every holder of a launched token, tagged dev or early buyer, with concentration. (Elysium, HyperEVM)
- [Launch timeline](https://femtos.xyz/reference/timeline.md) `GET /v1/launches/{token}/timeline`: The whole life of a launch as ordered events with running state. (Elysium, HyperEVM)
- [New tokens](https://femtos.xyz/reference/new-tokens.md) `GET /v1/tokens/new`: Every ERC-20 created on HyperEVM, newest first, with its first pool and market figures. (Elysium, HyperEVM)
- [New tokens stream](https://femtos.xyz/reference/ws/new-tokens.md) `WS elysium.tokens.new · hyperevm.tokens.new`: One message per new token as its block is indexed, and another when its first pool opens. (Elysium, HyperEVM)
- [New pools stream](https://femtos.xyz/reference/ws/new-pools.md) `WS elysium.pools.new · hyperevm.pools.new`: One message per new pool, the moment its block is indexed. (Elysium, HyperEVM)
- [Ascend swaps stream](https://femtos.xyz/reference/ws/ascend-swaps.md) `WS ascend.swaps`: Every swap of every Ascend pool, one message per block. (Elysium)
- [Ascended transitions](https://femtos.xyz/reference/ws/ascend-status.md) `WS ascend.status`: A message when a launch crosses your thresholds, in the block where it happens. (Elysium)
- [Lifecycle stage changes](https://femtos.xyz/reference/ws/ascend-lifecycle.md) `WS ascend.lifecycle`: A message when a launched token reaches its next stage: listing desk, HyperEVM mirror, HyperCore spot, perp. (Elysium)

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