EventTrader
AI-Native Trading
PAPER
Menu
Dark Mode
Plain English Mode
PAPER TRADING MODE — Enable real trading on your Account page
Back

Launchpad REST API

Programmatic access to the EventTrader launchpad on Arc (chain id 5042): 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.

Economics. $0 creation · 0% platform trading fee (Arc is fee-free; a creator tax, if set, is 100% the creator's) · 100% of the locked pool's fees to the creator, forever · anti-snipe fair launch (first 40 blocks capped at 2% of supply per wallet) · LP locked forever at graduation · graduated tokens get a real orderbook listing. Read the live numbers from /config — never hardcode them.

Base URL

https://cymetica.com/api/v1/launchpad/onchain

Discovery

GET /api/v1/launchpad/onchain/config

Per-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.

GET /api/v1/launchpad/onchain/tokens

List 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.

GET /api/v1/launchpad/onchain/screener

Every launch ranked with rug-risk flags (a JSON array): holder count, top-10 concentration, creator share. limit (≤500), include_external, chain_id.

GET /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.

GET /api/v1/launchpad/onchain/tokens/{address}/onchain

Live 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.

GET /api/v1/launchpad/onchain/tokens/{address}/trades

Recent curve trades, newest first. limit ≤500.

GET /api/v1/launchpad/onchain/tokens/{address}/holders

Holder distribution plus top10_concentration_pct. limit ≤200.

GET /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).

GET /api/v1/launchpad/onchain/rewards/{wallet}

Held-trade rebates and graduation bonuses accrued to a trader wallet.

GET /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

POST /api/v1/launchpad/onchain/launch/prepare

Returns 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": 0,
    "website": "https://example.com",
    "twitter": "https://x.com/example",
    "creator_tax_bps": 0,
    "share_fees_with_holders": false,
    "creator_wallet": ""
  }'
FieldTypeNotes
name, symbolstringRequired. 1–64 / 1–16 chars.
description, image_urlstringImmutable on-chain.
dev_buynumber0–10, in USDC (the chain's native currency). Optional atomic first buy — becomes the tx value. dev_buy_eth is the legacy alias.
website, twitter, telegram, discordstringhttp(s) URLs. On-chain socials (v2.1 factory). Can also be set later off-chain, gas-free — see Socials.
creator_tax_bpsintExtra creator fee on curve trades, 100 = 1%. Cap: max_creator_tax_bps from /config.
share_fees_with_holdersboolRoute ALL creator-side fees to staking holders. Irreversible.
creator_walletaddressPayout wallet; default = the signing wallet.
chain_idintDefault: the first enabled chain (pass 5042 for Arc).

Response:

{
  "success": true,
  "unsigned_transaction": {
    "chain_id": 5042,
    "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": 5042, "rpc_url": "https://rpc.mainnet.arc.io", "name": "Arc", "currency": "USDC"},
  "fees": {"creation_fee": "0", "curve_fee_bps": 25, "creator_share_bps": 8000},
  "message": "Sign and broadcast this transaction with your own wallet on chain 5042 …"
}

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/arc/token/<address>.

Trade — live quote + unsigned transactions

GET /api/v1/launchpad/onchain/tokens/{address}/quote

Query: side = buy | sell, amount (USDC 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": 5042, "to": "0x…curve", "value_wei": "10000000000000000", "data": "0xd96a094a…", "gas_hint": 250000}
  ],
  "chain": {"chain_id": 5042, "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

GET /api/v1/launchpad/onchain/tokens/{address}/socials/message

Step 1: pass website, twitter, telegram, discord (and optionally timestamp) and receive the exact message the creator wallet must personal_sign.

POST /api/v1/launchpad/onchain/tokens/{address}/socials

Step 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

Arc — chain id 5042, currency USDC (Arc pays gas in USDC, its native asset; value_wei is native USDC in 18-decimal units), RPC https://rpc.mainnet.arc.io, explorer https://explorer.arc.io. Bring USDC to Arc via CCTP; well under 1 USDC covers a launch. EventTrader is an independent platform built on Arc, a public blockchain developed by Circle — not affiliated with Circle Internet Group, Inc.