# Femtos | Elysium launchpad API: Ascend, Montra, every bonding curve

> Launch data API for Elysium, Kinetiq's Hyperliquid L2 (chain 99901): Ascend, Montra, Boxa, Kleos and 74 more launchpads, plus every bonding curve and pool launch found on chain. Curve progress, graduation, REST, WebSocket, webhooks, MCP.

- 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/elysium/launchpads

Elysium is Kinetiq's Hyperliquid L2 (Arbitrum Orbit on HyperEVM, chain 99901). Femtos indexes the launches of every launchpad on its mainnet: 78 launchpads by name, and every bonding curve or pool launch found on chain with no integration. One call lists them all, with curve progress, graduation and live market figures.

Base URL `https://api.femtos.xyz/v1`, key in `Authorization: Bearer`; WebSocket `wss://api.femtos.xyz/v1/ws`; MCP `https://api.femtos.xyz/mcp`. Decimals are exact strings, times Unix ms.

## Launchpads covered (78)

A launch names its launchpad in `launchpadRef.name`. Pass that name as `launchpad` to list the launches of one launchpad; `launchpad=any` lists every launchpad, `launchpad=unknown` the launches found on chain that no launchpad of the list names.

| Launchpad | launchpad= |
|---|---|
| Ascend | `ascend` |
| ElysPump | `elyspump` |
| StokX | `stokx` |
| Eleos | `eleos` |
| Boxa | `boxa` |
| Kleos | `kleos` |
| PerpMe | `perpme` |
| Clanker | `clanker` |
| Tero | `tero` |
| IMORTAL | `imortal` |
| Flint Tapir | `flinttapir` |
| Wolf Ascent | `wolfascent` |
| Cinder Orbit | `cinderorbit` |
| Cascade Canyon | `cascadecanyon` |
| Pangea | `pangea` |
| Bankr | `bankr` |
| HALO | `halo` |
| Stockium | `stockium` |
| Chainzy | `chainzy` |
| SuperElysium | `superelysium` |
| Montra | `montra` |
| Obol | `obol` |
| Elypad | `elypad` |
| Mesa | `mesa` |
| Volta | `volta` |
| Xenra | `xenra` |
| Motra | `motralaunchpad` |
| HoodStocks | `hoodstocks` |
| StonksPad | `stonkspad` |
| ELYXA | `elyxa` |
| Elysian | `elysian` |
| ArkhamPad | `arkhampad` |
| ElyScreener | `elyscreener` |
| Elysion | `elysion` |
| aka.fun | `akafun` |
| ElixirPad | `elixirpad` |
| Signal | `signal` |
| Nectar | `nectar` |
| kStock | `kstock` |
| Kilnpad | `kilnpad` |
| Arena Launch | `arenalaunch` |
| Lumora | `lumora` |
| FORGE | `forge` |
| Styxn | `styxn` |
| Elysdex | `elysdex` |
| degen.zone | `degenzone` |
| Aether | `aether` |
| Lysa | `lysa` |
| Hookium | `hookium` |
| Minthe | `minthe` |
| Oath | `oath` |
| Elys Launch | `elyslaunch` |
| UpGo | `upgo` |
| BunnyPad | `bunnypad` |
| RONS | `rons` |
| Zyora | `zyora` |
| o1 Launchpad | `o1` |
| LaunchCraft | `launchcraft` |
| Stands.social | `stands` |
| Alixir | `alixir` |
| Wormpad | `wormpad` |
| Elysium Pad | `elysiumpad` |
| Zephra | `zephra` |
| DANDI | `dandi` |
| hips.family | `hips` |
| Elevate | `elevate` |
| Flap | `flap` |
| Full.fun | `fullfun` |
| ElyChest | `elychest` |
| Torus | `torus` |
| Hover | `hover` |
| Home Of Elysium | `homeofelysium` |
| Elysino | `elysino` |
| Citadel | `citadel` |
| Orpheus | `orpheus` |
| Synthra | `synthra` |
| Fizz | `fizz` |
| UMI | `umi` |

## Every launchpad ranked

`/v1/launchpads` lists every launchpad with its launches over 24 hours, 7 days and all time, its tokens on their curve and graduated, the graduation rate, the 24 h volume of its tokens and its top token. `/v1/launchpads/{name}` gives one launchpad the same figures and its launches and graduations per day over 30 days.

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

Launches with no integration: the indexer infers a bonding curve from a token's first trades (the contract holding most of the minted supply, trading it for HYPE), and a pool launch from its creation transaction (the whole supply seeded into a DEX pool).

## What a launch row carries

`launchpadRef.basis` says how the launch is known: `event`, the launchpad's own launch event (Ascend `Launched`); `inferred`, found by the indexer. `status` is `curve`, `graduated` or `pool`; `curve.progress` goes from 0 to 1 toward graduation.

| Field | Type | Meaning |
|---|---|---|
| `token` | string | Launched token (Elysium) |
| `launchpadRef` | object | The launchpad of the launch, how the launch is known and how the launchpad is named: {name, address, basis, nameBasis, kit, label, selfLaunch} |
| `launchpadRef.basis` | event \| inferred | event: a launchpad's own launch event (Ascend `Launched`, LiquidLaunch `TokenCreated`); inferred: found by the indexer, whatever the launchpad: a bonding curve from the token's first trades (the contract holding most of the minted supply, trading it for HYPE), or a pool launch from its creation tx (the whole supply seeded into a DEX pool) |
| `status` | curve \| graduated \| pool | curve: trades on its bonding curve; graduated: left the curve for a DEX pool (`graduation`); pool: launched straight into a DEX pool (Ascend, an inferred pool launch) |
| `curve` | object \| null | The bonding curve (null: launched straight into a DEX pool): {address, progress, progressBasis, reserveHype, tokensOnCurve} |
| `curve.progress` | number \| null | 0–1 toward graduation, 1 once graduated; null when unknown (progressBasis null): never an estimate from another curve of a launchpad whose curves do not graduate at the same reserve |
| `curve.progressBasis` | getter \| learned \| tokens \| graduated \| null | getter: read on our node from the curve's own state, kept 15 s: the progress its contract states (in basis points, or on its own scale); a launchpad keeping each coin's curve in its contract (Obol, StonksPad, Elypad, HALO and others): the coin's tokens sold over the tokens its curve sells; a curve contract stating what it raised and the threshold it graduates at (HoodStocks' and others): their ratio; 1 once the contract says the curve graduated. Which getters a curve has is read from its contract's code (its implementation's for a proxy), once, so a new curve of a known kind is read the day it appears, and a contract is only ever asked for getters its code holds; tokens: the tokens sold off the curve, exact: for a curve quoted in an ERC-20 (`quote`, Alt.fun's vault tokens), over the tokens put on it (it graduates once empty); for any curve nothing was sold off (the tokens put on it are all on it), 0; learned: an estimate, its HYPE reserve over the median HYPE reserve at which its launchpad's latest curves graduated (capped at 0.99), given only when at least 3 of them graduated at reserves within 1.5x of each other; graduated: 1. Null with a null progress: no getter, tokens sold, and no such estimate |
| `graduation` | object \| null | Graduation from the curve to a DEX pool; null while on the curve, or with no curve: {block, at, tx, pair, protocol} |
| `pool` | object | Where priceUsd, mcapUsd and volume24hUsd come from: {id, protocol, kind} |
| `priceUsd` | decimal \| null | Last swap price in USD, in the pool it trades in now (null: no trade yet) |
| `mcapUsd` | decimal \| null | supply × priceUsd, 15 significant digits |
| `volume24hUsd` | decimal | Swap volume over the last 24 h, USD |
| `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 |
| `ascendGraduation` | object \| null | Elysium, an Ascend launch: its graduation on chain (read on our node, kept 15 s; a request waits 1.5 s at most for it, a new launch's frame not at all). null until read, when our node did not answer, or for a pool with no escrow (a launchpad before Ascend V5): {phase, progress, mcapProgress, holdProgress, holdStartedAt, holdEndsAt, graduatedAt, deadline, targetMcap, targetMcapUsd, escrow, listing, …} |

## Example

The launches still on their bonding curve, nearest to graduation first:

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

Shape of a row (the answer is an array; the next page is in the `Link` header):

```ts
// an array of rows
{
  token: string;
  symbol: string | null;
  launchpadRef: { name, address, basis, nameBasis, kit, label, selfLaunch };
  status: curve | graduated | pool;
  curve: { address, progress, progressBasis, reserveHype, tokensOnCurve } | null;
  graduation: { block, at, tx, pair, protocol } | null;
  pool: { id, protocol, kind };
  priceUsd: decimal | null;
  mcapUsd: decimal | null;
  holders: int;
}
```

## Parameters of GET /v1/launches

| Param | In | Example or values | Meaning |
|---|---|---|---|
| `limit` | query | 20 | Rows |
| `launchpad` | query | (optional) | Launchpad name or contract: ascend, vyntra, montra, unknown (inferred launches of no known launchpad)…, any (every launchpad: /v1's default lists Ascend's launch events only until 2026-12-23) (Elysium), liquidlaunch, signal, altfun, unknown, any (HyperEVM, with layer=hyperevm) |
| `sort` | query | (empty), newest, volume24h, mcap, progress | Elysium: newest (default; the cursor pages it), volume24h or mcap of the pool it trades in now, progress toward graduation (a curve; an Ascend launch with status=pool: ascendGraduation.progress, read for the 300 nearest to graduation, the others last); a sort but newest takes launchpad and status only |
| `status` | query | (empty), curve, graduated, pool | Elysium: on its curve, graduated to a DEX pool, or launched straight into a pool (Ascend, an inferred pool launch) |
| `creator` | query | (optional) | Elysium: launched by this wallet (creator at launch or current creator) |
| `q` | query | (optional) | Elysium: symbol or name contains (case ignored) |
| `minMcapUsd` | query | (optional) | Ascended criterion: minimum market cap, USD (decimal string) |
| `minHolders` | query | (optional) | Ascended criterion: minimum unique holders (system excluded) |
| `cursor` | query | (optional) | Next page: `next_cursor` of the previous answer |

## Every launch call

- [Launchpads ranked](https://femtos.xyz/reference/launchpad-ranking.md) `GET /v1/launchpads`: Every Elysium launchpad ranked by launches, graduations or 24 h volume, with its top token.
- [One launchpad](https://femtos.xyz/reference/launchpad.md) `GET /v1/launchpads/{name}`: One Elysium launchpad's figures and its launches and graduations per day over 30 days.
- [Launches](https://femtos.xyz/reference/launches.md) `GET /v1/launches`: Latest launches of every launchpad (Ascend and every bonding curve), with curve progress, graduation and live market figures.
- [Launch detail & signals](https://femtos.xyz/reference/signals.md) `GET /v1/launches/{token}`: Metrics, dev wallet, early buyers and risk signals of one launch.
- [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.
- [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.
- [New tokens](https://femtos.xyz/reference/new-tokens.md) `GET /v1/tokens/new`: Every ERC-20 created on Elysium, newest first, with its first pool and market figures.
- [Chain launches](https://femtos.xyz/reference/activity-launches.md) `GET /v1/activity/launches`: Elysium tokens launched on a launchpad and ERC-20 tokens created (spam left out), per bucket.
- [Launches stream](https://femtos.xyz/reference/ws/launches.md) `WS elysium.launches`: One message per new launch of any launchpad, the moment its block is indexed; with updates, one more each time a launch trades on its curve, trades for the first time or graduates.
- [New tokens stream](https://femtos.xyz/reference/ws/new-tokens.md) `WS elysium.tokens.new`: One message per new token as its block is indexed, and another when its first pool opens; with updates, one more each time a new token trades.

## Webhooks

The `elysium.launches` channel delivered to your HTTPS URL: create a webhook with `POST /v1/webhooks` and a subscription to that channel, with the same `launchpad` filter. Signed (Standard Webhooks), retried.

- [Webhooks](https://femtos.xyz/webhooks.md): Channels, signatures, retries, limits.

## MCP

Agents call the same data as tools of the hosted MCP server:

| Tool | What it answers | REST call |
|---|---|---|
| `list_launchpads` | Launchpads ranked: launches, graduations, volume, top token | `GET /v1/launchpads` |
| `get_launchpad` | One launchpad: figures and 30 days of launches and graduations | `GET /v1/launchpads/{name}` |
| `list_launches` | Launches of every launchpad: curve progress, graduation, by newest, volume, market cap | `GET /v1/launches` |
| `get_launch` | Launch story: dev wallet, early buyers, signals, fees, Ascend progress | `GET /v1/launches/{token}` |
| `get_launch_timeline` | Replayable life: swaps, holders and market cap over time | `GET /v1/launches/{token}/timeline` |
| `list_new_tokens` | Every new ERC-20, newest first: creator, launchpad, first pool, liquidity, holders | `GET /v1/tokens/new` |

## More

- [Launch story](https://femtos.xyz/elysium/lifecycle.md): One launch told event by event: dev wallet, early buyers, swaps, holders.
- [Elysium token price and OHLCV API](https://femtos.xyz/elysium/price-api.md): Token prices, price history and OHLCV candles.
- [Elysium data API](https://femtos.xyz/elysium.md): Everything served on Elysium, by group.
- [MCP server](https://femtos.xyz/mcp.md): Connect Claude, Cursor or any MCP client.

Every call: https://femtos.xyz/reference.md · the whole API in one file: https://femtos.xyz/agents.md
