Launchpad REST API
Programmatic access to the EventTrader launchpad on Robinhood Chain (chain id 4663): discover launches, read the live bonding curve, and build the unsigned transactions to launch, buy and sell. Non-custodial by construction — the API only encodes calldata; every transaction is signed and broadcast by your own wallet. No key, no login, no API key for any endpoint on this page.
/config — never hardcode them.Base URL
https://cymetica.com/api/v1/launchpad/onchain
Discovery
/api/v1/launchpad/onchain/configPer-chain factory + locker addresses, RPC and explorer URLs, the fee schedule, factory generation (v2.1: socials, creator tax, holder fee-sharing, payout wallet), max_creator_tax_bps, and the canonical ABIs (factory, curve, erc20, vault, locker) including the LaunchCreated event so you can decode your receipt.
/api/v1/launchpad/onchain/tokensList launches — a JSON array of token rows. Query: sort = new (default) | volume | graduating | graduated; limit (≤200), offset, chain_id, creator (one launcher wallet). Every row carries links and page_url — the token's direct page.
/api/v1/launchpad/onchain/screenerEvery launch ranked with rug-risk flags (a JSON array): holder count, top-10 concentration, creator share. limit (≤500), include_external, chain_id.
/api/v1/launchpad/onchain/tokens/{address}The indexed record for one token — every metadata field (name, symbol, description, image, creator, curve, supply, fees, tax, vault, socials, graduation state), stats, and links.
/api/v1/launchpad/onchain/tokens/{address}/onchainLive contract reads (token / curve / factory getters). Works before the indexer has picked the launch up, so the link on your receipt resolves immediately. Optional chain_id.
/api/v1/launchpad/onchain/tokens/{address}/tradesRecent curve trades, newest first. limit ≤500.
/api/v1/launchpad/onchain/tokens/{address}/holdersHolder distribution plus top10_concentration_pct. limit ≤200.
/api/v1/launchpad/onchain/boost/{wallet}Whether this wallet's first launch qualifies for the 90%-of-fees-for-90-days boost (launched elsewhere before).
/api/v1/launchpad/onchain/rewards/{wallet}Held-trade rebates and graduation bonuses accrued to a trader wallet.
/api/v1/launchpad/onchain/backing/{address}Real-share backing status for launches designated as backed by a real NYSE/Nasdaq ticker.
Launch — unsigned transaction builder
/api/v1/launchpad/onchain/launch/prepareReturns the exact unsigned createToken / createTokenV2 transaction for a new token. Fail-closed: only the overload the live factory supports is ever returned, so the tx cannot revert on an unsupported option. Everything in the body is immutable once signed.
curl -X POST https://cymetica.com/api/v1/launchpad/onchain/launch/prepare \
-H "Content-Type: application/json" \
-d '{
"name": "My Token",
"symbol": "MYT",
"description": "What it is",
"image_url": "https://example.com/logo.png",
"dev_buy_eth": 0,
"website": "https://example.com",
"twitter": "https://x.com/example",
"creator_tax_bps": 0,
"share_fees_with_holders": false,
"creator_wallet": ""
}'
| Field | Type | Notes |
|---|---|---|
name, symbol | string | Required. 1–64 / 1–16 chars. |
description, image_url | string | Immutable on-chain. |
dev_buy_eth | number | 0–10. Optional atomic first buy — becomes the tx value. |
website, twitter, telegram, discord | string | http(s) URLs. On-chain socials (v2.1 factory). Can also be set later off-chain, gas-free — see Socials. |
creator_tax_bps | int | Extra creator fee on curve trades, 100 = 1%. Cap: max_creator_tax_bps from /config. |
share_fees_with_holders | bool | Route ALL creator-side fees to staking holders. Irreversible. |
creator_wallet | address | Payout wallet; default = the signing wallet. |
chain_id | int | Default: the first enabled chain (4663). |
Response:
{
"success": true,
"unsigned_transaction": {
"chain_id": 4663,
"to": "0x…factory",
"value_wei": "0",
"data": "0x23368782…",
"gas_hint": 3600000,
"function": "createTokenV2"
},
"options": {"socials": {…}, "creator_tax_bps": 0, "share_fees_with_holders": false, "creator_wallet": null},
"chain": {"chain_id": 4663, "rpc_url": "https://rpc.mainnet.chain.robinhood.com", "name": "Robinhood Chain", "currency": "ETH"},
"fees": {"creation_fee": "0", "curve_fee_bps": 25, "creator_share_bps": 8000},
"message": "Sign and broadcast this transaction with your own wallet on chain 4663 …"
}
Sign it with any EVM wallet (EIP-1559 is fine). Your token and curve addresses are topics[1] and topics[2] of the LaunchCreated log in the receipt; the token is indexed within ~30s and its page is https://cymetica.com/launchpad/robinhood/token/<address>.
Trade — live quote + unsigned transactions
/api/v1/launchpad/onchain/tokens/{address}/quoteQuery: side = buy | sell, amount (ETH to spend for buy, tokens to sell for sell), slippage_bps (1–5000, default 100). Reads the curve on-chain, fail-closed: a 503 means the RPC could not be read — you never get a stale number.
curl "https://cymetica.com/api/v1/launchpad/onchain/tokens/0x1c6916c49c25709b808bD7A31E8684157FAc3dcE/quote?side=buy&amount=0.01"
{
"success": true, "side": "buy", "token_address": "0x1c69…",
"quote": {"eth_in": "0.01", "tokens_out": "6635…", "min_tokens_out": "6568…"},
"fee_bps": 25, "slippage_bps": 100,
"unsigned_transactions": [
{"chain_id": 4663, "to": "0x…curve", "value_wei": "10000000000000000", "data": "0xd96a094a…", "gas_hint": 250000}
],
"chain": {"chain_id": 4663, "rpc_url": "…"},
"message": "Sign and broadcast in order with your own wallet."
}
A sell returns two transactions to send in order: the ERC-20 approve for the curve, then sell. A graduated token answers 409 with its uniswap_pool — trade it on the DEX pool or the EventTrader orderbook instead.
Socials — creator-signed, off-chain, gas-free
/api/v1/launchpad/onchain/tokens/{address}/socials/messageStep 1: pass website, twitter, telegram, discord (and optionally timestamp) and receive the exact message the creator wallet must personal_sign.
/api/v1/launchpad/onchain/tokens/{address}/socialsStep 2: body {wallet, signature, timestamp, website, twitter, telegram, discord} — same links and timestamp as the message. Links then show on the token page, the launchpad cards and every API/MCP answer. Refused for tokens whose on-chain socials are already set.
Errors
Validation → 400 {"detail": {"error": "…", "code": "INVALID_*"}}; unknown token / no chain → 404; graduated or option-unsupported → 409; curve read failure → 503. Codes: INVALID_NAME, INVALID_SYMBOL, INVALID_DEV_BUY, INVALID_SOCIAL, INVALID_TAX, TAX_ABOVE_CAP, INVALID_CREATOR_WALLET, OPTIONS_UNSUPPORTED, NO_CHAIN, UNKNOWN_TOKEN, GRADUATED, QUOTE_UNAVAILABLE.
Real-time
The launchpad page streams new launches and trades over WebSocket; for programmatic use poll /tokens?sort=new sparingly or subscribe through the MCP tools. Public rate limits apply per IP.
Network
Robinhood Chain — chain id 4663, currency ETH, RPC https://rpc.mainnet.chain.robinhood.com, explorer https://robinhoodchain.blockscout.com. Bridge gas from Ethereum via the canonical Arbitrum bridge; ~0.003 ETH covers a launch. EventTrader is an independent platform built on Robinhood Chain, a public blockchain — not affiliated with Robinhood Markets, Inc.