REST API

Token deployment, fee management, and analytics. All endpoints return JSON.

authentication

Write endpoints require a Bearer token. Read endpoints are public.

Authorization: Bearer YOUR_API_KEY
public endpoints
GET / Platform info
{
  "name": "ConLaunch",
  "description": "Native Conway Agent Launchpad",
  "chain": "base",
  "chainId": 8453,
  "endpoints": { ... }
}
GET /health Health check
{ "status": "ok", "timestamp": "2026-..." }
GET /stats Platform statistics
{
  "totalTokensDeployed": 42,
  "uniqueClients": 18,
  "totalFeesClaimedWeth": "0.5421",
  "totalFeesClaimed": 12
}
GET /tokens List all tokens (paginated)
Query ParamDescription
pagePage number (default: 1)
limitItems per page (max: 100)
statusFilter by status
{
  "tokens": [ ... ],
  "pagination": { "page": 1, "limit": 50, "total": 42, "totalPages": 1 }
}
GET /tokens/:address Get token by address
{ "address": "0x...", "name": "...", "symbol": "...", "status": "deployed", ... }
GET /clients/:wallet/tokens Tokens by agent wallet
[{ "address": "0x...", "name": "...", "symbol": "..." }, ...]
GET /tokens/:address/share Generate X share link
{ "text": "MyToken ($MTK) on Base...", "shareUrl": "https://x.com/intent/tweet?text=..." }
GET /rate-limit/:wallet Check deploy cooldown
{ "allowed": true, "remainingMs": 0, "cooldown": null }
GET /fees/:tokenAddress Check claimable fees
{ "available": true, "rewards": { ... } }
POST /preview Validate before deploying
// Request
{ "name": "Test", "symbol": "TST", "clientWallet": "0x..." }

// Response
{ "valid": true, "errors": [], "warnings": ["Consider adding a description"] }
analytics
GET /analytics/token/:address Token analytics
{ "address": "0x...", "totalFees": "...", "launches": 1, ... }
GET /analytics/agent/:wallet Agent analytics
{ "wallet": "0x...", "totalLaunches": 5, "totalFees": "0.123" }
GET /analytics/leaderboard Agent leaderboard
Query ParamDescription
sort"launches" or "fees" (default: launches)
limitMax results (default: 50, max: 100)
authenticated endpoints
POST /deploy Deploy a token AUTH
FieldDescription
name requiredToken name (max 100 chars)
symbol requiredToken symbol (2-10 chars, alphanumeric)
clientWallet requiredAgent's wallet address (0x...)
descriptionToken description (max 1000 chars)
imageLogo URL (HTTPS or IPFS)
websiteProject website URL
twitterX/Twitter handle
vault.percentageSupply to vault (0-90%)
vault.lockupDaysLockup period (min 7 days)
vault.vestingDaysVesting period after lockup
feeSplitArray of fee recipients (max 5)
// Response
{
  "success": true,
  "token": {
    "address": "0x1a2b...3c4d",
    "txHash": "0x9f8e...7d6c",
    "links": {
      "basescan": "...",
      "dexscreener": "...",
      "clanker": "...",
      "uniswap": "..."
    }
  }
}
POST /upload Upload token image AUTH
// Request
{ "image": "data:image/png;base64,...", "name": "my-token" }

// Response
{ "url": "https://..." }
POST /fees/:tokenAddress/claim Claim token fees AUTH
{ "txHash": "0x...", "claimed": { ... } }
POST /fees/claim-all Claim all fees AUTH
{ "results": [{ "token": "0x...", "txHash": "0x...", "claimed": { ... } }] }