# Launch detail & signals · API reference · Femtos

> Metrics, dev wallet, early buyers and risk signals of one launch. GET /v1/launches/{token} 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/signals

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

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

Layers: Elysium, HyperEVM. Not on HyperCore: served on Elysium and HyperEVM only. No data on Elysium yet: no Ascend launch on Elysium mainnet yet.
Page with live calls: https://femtos.xyz/reference/signals?layer=<elysium|hyperevm>

| Param | In | Example or values | Meaning |
|---|---|---|---|
| `token` | path | `<token>` (Elysium); `<llToken>` (HyperEVM) | Launched token address |
| `earlyWindowSec` | query | `60` | Early-buyer window after the launch block |

Elysium:

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

HyperEVM:

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

| Field | Type | Meaning |
|---|---|---|
| `launch` | object | One launch (GET /api/launches, WS elysium.launches / hyperevm.launches). Elysium = Ascend; HyperEVM = LiquidLaunch (layer, bondedAt, bondingProgress, curvePair, dexPair, imageUri): {token, symbol, name, decimals, launchpad, launchpadName, pair, poolId, creator, quote, quoteSymbol, launchedAt, …} |
| `metrics` | object | Raw "Ascended" metrics: Ascend's thresholds are not published, nothing is declared qualified: {priceUsd, priceQuote, mcapUsd, athMcapUsd, holders, top10Share, devHoldsShare, volume24hUsd, trades24h, volumeSinceLaunchUsd, tradesSinceLaunch, traders, …} |
| `dev` | object | {address, devBuyTokens, balance, holdsShare, buys, sells, sold, transfersOut} |
| `holders` | object | {total, top} |
| `earlyBuyers` | object | {windowSec, fundingLookbackSec, list} (Elysium) |
| `signals[]` | object | {rule, severity, addresses, detail, block, funder, evidence} |
| `fees` | object \| null | Estimated fees (1 % of volume; creator 25 %, approved creator 50 %), with `exact` (ExactFees, Elysium): the launchpad's own fee events (null without the indexer's ascend_ledger). null for LiquidLaunch (fees not published): {estimate, rate, volumeUsd, totalUsd, creatorUsd, creatorUsdIfApproved, creatorShare, creatorShareApproved, exact} (Elysium) |
| `ascend` | object | Elysium: progress toward "Ascended", plus coordination = {flaggedWallets, flaggedHoldShare (their balances / supply), highSignals}: the evidence of the coordinated-accumulation check, not a criterion: {status, thresholds, met, of, criteria, coordination} (Elysium) |
| `partial` | funding \| devTransfersOut[] | HyperEVM: reads skipped (no address indexes yet): no funding signals, no dev transfers out (HyperEVM) |

## 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 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
