Launchpad launches by stage (new, bonding or graduated)
Launches of one chain, newest first, each with its launchpad block. new is every pool a launchpad created, curve or not; bonding is a bonding-curve pool that has not graduated yet; graduated is a curve that completed and migrated to launchpad.migrated_pool. Curve progress is not published: nothing measured stands behind it yet.
Query Parameters
chain slug (robinhood) or numeric chain id (4663); one chain per call, because the list walks that chain's own index
1 <= length <= 32which launches to list; launchpad.stage on each row says where that pool is now
"new"Value in
- "new"
- "bonding"
- "graduated"
comma-separated launchpad or DEX names, as launchpad.name spells them
items <= 32page size; plans above startup may raise the ceiling
int321 <= value <= 10010opaque cursor from next_cursor or prev_cursor
length <= 512Header Parameters
payment methods the client can use, comma-separated, case-insensitive. With x402 in the list, a spent keyless budget answers 402 with the x402 challenge instead of 429.
base64 x402 v2 payment payload for this request. A paid request skips the keyless budget and is settled only when it answers 2xx. The v1 header X-PAYMENT is accepted too.
Response Body
application/json
application/problem+json
application/problem+json
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X GET "https://example.com/launchpads/tokens?chain=string"{ "items": [ { "network": { "slug": "hyperliquid", "chain_id": 0 }, "dex": { "name": "string", "factory": "string", "factory_type": "string", "chain_id": 0, "lp_token_symbol": "string" }, "pair_address": "string", "prop_data": { "is_perp": false, "is_honeypot": false, "spot_disabled": false, "perp_disabled": false, "buy_tax": 0, "sell_tax": 0, "liquidity_range": { "low": 0, "high": 0, "low_at": 0, "high_at": 0 }, "perp": { "max_leverage": 0, "only_isolated": false, "funding_rate": 0, "open_interest": 0, "open_interest_usd": 0, "mark_price": 0, "oracle_price": 0, "premium": 0, "day_notional_volume": 0, "synced_at": "string" } }, "status": "string", "score": { "value": 0, "title": "string", "updated_at": "string", "risk_signals": [ { "kind": "string", "weight": 0, "group": "cannot_exit", "severity": "critical", "observed_at": "string" } ] }, "deployer": { "address": "string", "tx_hash": "string", "block_number": 0, "log_index": 0, "reputation": { "score": 0, "status": "string", "pairs_created": 0, "abused_launches": 0, "first_seen_at": "string" } }, "security": { "burned_pct": 0, "locked_pct": 0, "top_lock_provider": "string", "earliest_unlock_at": "string", "checked_at": "string" }, "verdict": { "status": "string" }, "ticker": "string", "pair_fee": 0, "tokens": [ { "name": "string", "symbol": "string", "address": "string", "status": "string", "chain_id": 0, "price_usd": 0, "price_native": 0, "position": 0, "decimals": 0, "reserve": 0, "total_supply": 0, "price_range": { "low": 0, "high": 0, "low_at": 0, "high_at": 0 } } ], "txn": { "m5": { "buys": 0, "sells": 0, "buy_volume": 0, "sell_volume": 0, "buyers": 0, "sellers": 0 }, "h1": { "buys": 0, "sells": 0, "buy_volume": 0, "sell_volume": 0, "buyers": 0, "sellers": 0 }, "h6": { "buys": 0, "sells": 0, "buy_volume": 0, "sell_volume": 0, "buyers": 0, "sellers": 0 }, "h24": { "buys": 0, "sells": 0, "buy_volume": 0, "sell_volume": 0, "buyers": 0, "sellers": 0 } }, "volume": { "m5": 0, "h1": 0, "h6": 0, "h24": 0 }, "price_change": { "m5": 0, "h1": 0, "h6": 0, "h24": 0 }, "liquidity_usd": 0, "liquidity_onchain_usd": 0, "apr": 0, "fees_usd_24h": 0, "last_updated_at": "string", "created_at": "string", "last_trade_at": "string", "price_native": 0.1, "windows": { "m5": { "price_change_pct": 0.1, "volume_usd": 0.1, "buy_volume_usd": 0.1, "sell_volume_usd": 0.1, "txns": { "buys": 0, "sells": 0 }, "buyers": 0, "sellers": 0 }, "h1": { "price_change_pct": 0.1, "volume_usd": 0.1, "buy_volume_usd": 0.1, "sell_volume_usd": 0.1, "txns": { "buys": 0, "sells": 0 }, "buyers": 0, "sellers": 0 }, "h6": { "price_change_pct": 0.1, "volume_usd": 0.1, "buy_volume_usd": 0.1, "sell_volume_usd": 0.1, "txns": { "buys": 0, "sells": 0 }, "buyers": 0, "sellers": 0 }, "h24": { "price_change_pct": 0.1, "volume_usd": 0.1, "buy_volume_usd": 0.1, "sell_volume_usd": 0.1, "txns": { "buys": 0, "sells": 0 }, "buyers": 0, "sellers": 0 } }, "launchpad": { "name": "string", "protocol": "string", "stage": "string", "completed_at": "string", "migrated_pool": "string" }, "safety": { "is_honeypot": true, "buy_tax": 0.1, "sell_tax": 0.1, "lp_locked_pct": 0.1, "lp_burned_pct": 0.1, "score": 0, "labels": [ "string" ] } } ], "next_cursor": "string", "prev_cursor": "string", "applied_sort": "liquidity", "applied_timeframe": "5m", "excluded_chains": [ "hyperliquid" ]}Newest pairs on one chain GET
Pairs of one chain, newest first. Blocked pairs never appear.
Many pairs in one call POST
Resolves up to 50 pairs, across chains, in one read per chain. A pair nobody indexes comes back with `found: false` rather than failing the batch; a blocked pair comes back with `verdict.status: blocked`. LP lock figures are not included — read the single pair for them.