# Launchpads

> How token launchpads on Robinhood Chain work (bonding curves, graduation to Uniswap pools, LP locks) and which launchpads Crius attributes, including Pons, Flap.sh, Bankr and Long.xyz.

Source: https://crius.sh/docs/concepts/launchpads/

A **launchpad** lets anyone create a token in one transaction. Most start trading on a **bonding curve**: the launchpad contract sells tokens at a price that rises with each buy, against a quote asset (usually ETH). When the curve raises enough, the token **graduates**: the launchpad moves the raised liquidity into a Uniswap pool, often locking or burning the LP position, and trading continues on the DEX.

## Supported launchpads

Crius attributes tokens to their launchpad automatically from the factory that created them. Live stats for each are at [`GET /v1/robinhood/launchpads`](https://crius.sh/docs/reference/launchpads/#launchpads).

| Id | Name | Model |
|---|---|---|
| `pons` | Pons | Bonding curve that graduates into a Uniswap v4 pool with the Pons hook; the LP is locked permanently |
| `flap` | [Flap.sh](https://flap.sh) | Bonding-curve launchpad |
| `bankr` | [Bankr](https://bankr.bot) | Token launches from the Bankr agent |
| `long` | [Long.xyz](https://long.xyz) | Token launch platform |
| `standard_reserve` | [King of the Markets (Standard Reserve)](https://www.standardreserve.xyz) | Launch competition platform |

Tokens from factories we haven't attributed yet are reported with `creation.attribution` other than `known_launchpad`, and `/launch` returns `meta.attribution = "unattributed_factory"`.

## Lifecycle in the API

- `launch.status`: `bonding` while on the curve, `graduated` after migration.
- `launch.progress_pct`: how far along the curve the token is (100 when graduated).
- `launch.curve`, `launch.launched_block`, `launch.graduated_block`, `launch.graduation_threshold`.
- The token's market (price, liquidity, candles) follows it from the curve into its pool seamlessly: candles for a launchpad token include the curve history by default.

Stream new launches with the `launches:all` (or `launches:pons`, …) channel and graduations with `graduations:all` on the [WebSocket](https://crius.sh/docs/reference/stream/).
