# Launch story · HyperEVM API · Femtos

> One LiquidLaunch launch on HyperEVM told event by event from the Femtos API: launch, dev wallet, early buyers, swaps, holders, market cap over time.

- 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` (or `X-API-KEY: $FEMTOS_KEY`). Free key: https://femtos.xyz/accounts/ (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/hyperevm/lifecycle

## Calls it makes

### LiquidLaunch launches — GET `/v1/launches`

Latest LiquidLaunch bonding-curve launches, newest first.

| Param | In | Example or values |
|---|---|---|
| `launchpad` | query | `liquidlaunch` |
| `limit` | query | `20` |
| `includeSpam` | query | `(empty)`, `true` |

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

| Field | Type | Meaning |
|---|---|---|
| `token` | string | launched token |
| `symbol · name` | string \| null | ERC-20 metadata |
| `pair` | string | pool key, the market of candles and trades |
| `creator` | string | dev wallet |
| `launchedAt · block · tx` | int · string | launch event |
| `supply · supplySeeded` | decimal | total supply, tokens seeded in the pool |
| `devBuyTokens` | decimal \| null | tokens the creator bought at launch |
| `priceUsd · mcapUsd` | decimal \| null | last swap price, supply × price |
| `volume24hUsd · trades24h` | decimal · int | rolling 24 h |
| `holders` | int | positive balances, system addresses excluded |
| `top10Share · devHoldsShare` | number \| null | share of supply, 0–1 |
| `devSold` | boolean | creator sold at least once |
| `spam · spamReason` | boolean · string \| null | spam token: left out unless includeSpam=true |
| `bondedAt` | int \| null | curve completed, liquidity moved to the DEX |
| `bondingProgress` | number | share of the curve sold, 0–1 |

### Launch detail & signals — GET `/v1/launches/{token}`

Metrics, dev wallet, early buyers and risk signals of one launch.

| Param | In | Example or values |
|---|---|---|
| `token` | path | `<llToken>` |
| `earlyWindowSec` | query | `60` |

```bash
curl -H "Authorization: Bearer $FEMTOS_KEY" "https://api.femtos.xyz/v1/launches/<llToken>?earlyWindowSec=60"
```

| Field | Type | Meaning |
|---|---|---|
| `launch` | LaunchRow | with bondedAt, bondingProgress |
| `metrics · dev · holders` | object | as on Elysium |
| `signals[]` | object | {rule, severity, addresses, detail}, high first |

### Launch timeline — GET `/v1/launches/{token}/timeline`

The whole life of a launch as ordered events with running state.

| Param | In | Example or values |
|---|---|---|
| `token` | path | `<llToken>` |

```bash
curl -H "Authorization: Bearer $FEMTOS_KEY" "https://api.femtos.xyz/v1/launches/<llToken>/timeline"
```

| Field | Type | Meaning |
|---|---|---|
| `launch · events[] · current` | object | as on Elysium |
| `bondedAt` | int \| null | curve completed |
| `truncated` | boolean | over 5,000 swaps: replay stops there |
