Appearance
BlazLaunch API
Base path /api/v1/launchpad. Responses use the app envelope { data: … }. Errors are { error: { code, message } } with the status the code implies; only RPC_BUSY (503) should be retried.
| Method, path | Auth | Purpose |
|---|---|---|
GET /config | public | enabled chains (venue, fee split, Airlock), limits, free quota, reserved symbols |
GET /stocks?chainId= | public, 60 s cache | eligible stocks with priceUsd, priceSource, session |
GET /launches?chainId&stock&sort=new|trending|mcap&creator&source&limit&cursor | public, 30 s | launched tokens with stats |
GET /launches/:chainId/:token | public, 15 s | one launch (address or symbol; symbol picks the most traded and returns candidates) |
GET /launches/:chainId/:token/trades?limit&cursor | public | swaps from the PoolManager scan |
POST /prepare | walletAuth('launchpad-create'), geo gate | body {chainId, name, symbol, stock, startMcUsd, supplyTokens?, tokenURI?, wallet, timestamp, signature} → unsigned create tx, predicted token, curves, fee split, quota |
POST /confirm | walletAuth('launchpad-confirm'), geo gate | {chainId, txHash} → Launch record read from the receipt; awards launchpadCreate points |
POST /quote | public, 60/min/IP, geo gate | {chainId, token, side, amount, unit: usd|stock|tokens|all, account, slippageBps} → steps (approvals only when missing) + expected/min out, or unavailableReason + needs |
POST /trades | walletAuth('launchpad-trade'), geo gate | {chainId, token, txHash} → trade rows from the receipt's Swap logs; points; a defiTransactions row |
Error codes: CHAIN_DISABLED 400, STOCK_NOT_ELIGIBLE 400, INVALID_LAUNCH 400, INVALID_TRADE 400, SYMBOL_TAKEN 409, NOT_FOUND 404, SIMULATION_REVERTED 422, RPC_BUSY 503, GEO_BLOCKED 451.
Wallet auth follows the Autopilot contract: sha256(JSON.stringify(sortDeep(body minus signature))), message Blazpay <action> <digest> <timestamp>, EIP-191 personal_sign, ±5 minutes, single use. The frontend helper is signAuthedBody() in defi-dex/src/utils/autopilotPolicy.ts.
Env: LAUNCHPAD_ENABLED, LAUNCHPAD_FREE_PER_DAY (3), LAUNCHPAD_BLOCKED_COUNTRIES (US), LAUNCHPAD_RPC_<chainId> / LAUNCHPAD_SCAN_RPC_<chainId> (comma lists), LAUNCHPAD_SCAN_CHUNK_BLOCKS, LAUNCHPAD_SWAP_CHUNK_BLOCKS. Per-chain settings live on Network.launchpad.