# Launches · API reference · Femtos

> Latest LiquidLaunch bonding-curve launches, newest first. GET /v1/launches 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/launches

## Launches — GET `/v1/launches`

- Elysium: Latest Ascend launches, newest first, with live market figures.
- HyperEVM: Latest LiquidLaunch bonding-curve launches, newest first.

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

| Param | In | Example or values | Meaning |
|---|---|---|---|
| `limit` | query | `20` | Rows |
| `launchpad` | query | `ascend` (Elysium); `liquidlaunch` (HyperEVM) | Launchpad name: ascend (Elysium), liquidlaunch (HyperEVM) |
| `creator` | query | (optional) | Elysium: launched by this wallet (creator at launch or current creator) (Elysium) |
| `q` | query | (optional) | Elysium: symbol or name contains (case ignored) (Elysium) |
| `minMcapUsd` | query | `50000` | Ascended criterion: minimum market cap, USD (decimal string) (Elysium) |
| `minHolders` | query | `20` | Ascended criterion: minimum unique holders (system excluded) (Elysium) |
| `cursor` | query | (optional) | Next page: `next_cursor` of the previous answer (Elysium) |
| `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 (HyperEVM) |

Elysium:

```bash
curl -H "Authorization: Bearer $FEMTOS_KEY" "https://api.femtos.xyz/v1/launches?limit=20&launchpad=ascend&minMcapUsd=50000&minHolders=20"
```

HyperEVM:

```bash
curl -H "Authorization: Bearer $FEMTOS_KEY" "https://api.femtos.xyz/v1/launches?launchpad=liquidlaunch&limit=20"
```

| Field | Type | Meaning |
|---|---|---|
| `token` | string | Launched token (Elysium) |
| `symbol` | string \| null |  |
| `name` | string \| null |  |
| `pair` | string | Pool key: <CLPoolManager>:<PoolId> (use as `market` / `pair`) |
| `creator` | string | Creator (dev) wallet: 0x address, or a named wallet's handle |
| `launchedAt` | ms | Block time of the launch |
| `block` | int | Launch block |
| `tx` | string | Launch transaction hash |
| `supply` | decimal | Total supply (1B for Ascend) |
| `supplySeeded` | decimal \| null | Tokens seeded into the pool at launch |
| `devBuyTokens` | decimal \| null | Tokens bought by the creator in the launch transaction |
| `priceUsd` | decimal \| null | Last swap price in USD |
| `mcapUsd` | decimal \| null | supply × priceUsd, rounded to the cent |
| `volume24hUsd` | decimal | Swap volume over the last 24 h, USD |
| `trades24h` | int | Swaps over the last 24 h |
| `holders` | int | Addresses with a positive balance, system addresses excluded (pool, PoolManager, hooks, launchpad, gateways, zero/dead) |
| `top10Share` | number \| null | Sum of the 10 largest non-system balances / supply (0–1) |
| `devHoldsShare` | number \| null | Creator balance / supply (0–1) |
| `devSold` | boolean | The creator sold the token at least once in this pool |
| `spam` | boolean | Flagged spam by the indexer (tokens.spam). GET /api/tokens/spam lists them |
| `spamReason` | string \| null | 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 |
| `volumeSinceLaunchUsd` | decimal | Elysium: volume of the pool since the launch, USD (Elysium) |
| `tradesSinceLaunch` | int | Elysium: swaps of the pool since the launch (Elysium) |
| `ascend` | object | Progress of an Ascend launch toward "Ascended" (Elysium rows only): {status, thresholds, met, of, criteria} (Elysium) |
| `ascend.status` | ascended \| launched \| null | "ascended" = every criterion with a threshold is met. Ascend publishes no threshold and its launchpad contract has no graduation state or event (checked on chain): `ascend.status` is derived from the thresholds of the request, else of the server (none configured: null). (Elysium) |
| `ascend.criteria` | object | {mcapUsd, holders, volumeUsd, top10Share} (Elysium) |
| `Link rel="next"` | header | an array: the next page URL, its cursor to pass as cursor (Elysium) |
| `bondedAt` | int \| null | LiquidLaunch: bonding time (ms), null while on the curve (HyperEVM) |
| `bondingProgress` | number \| null | LiquidLaunch: curve progress 0–1 (1 once bonded; estimate from the HYPE reserve vs the median reserve of the latest bondings, capped at 0.99) (HyperEVM) |
| `dexPair` | string \| null | LiquidLaunch: DEX pair after bonding (null before); `pair` is this one once bonded (HyperEVM) |
| `imageUri` | string \| null | LiquidLaunch: token image (HyperEVM) |

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

## Related (Launches)

- [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](https://femtos.xyz/reference/new-pools.md) `GET /v1/pools/new`: Every new pair or pool on HyperEVM, from every discovered factory and PoolManager, newest first. (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
