Skip to content

API Reference

Base URL: https://ipfs.hoodpump.live

No API key required for anything below, it's all public.

POST /api/launch/prepare

Pins your logo + project metadata to IPFS and signs the Agent NFT voucher needed for HoodPumpFactory.deploy(). See How Launching Works for where this fits in the overall flow.

Request: multipart/form-data

FieldRequiredNotes
logoYesImage file. Accepted: PNG, JPEG, WebP, GIF, SVG. Max 10MB.
nameYesToken name.
symbolYesToken symbol.
descriptionNo
twitterNo
telegramNo
websiteNo

Response: 200 OK

json
{
  "logoCid": "bafybe...",
  "projectCid": "bafybe...",
  "agentCid": "bafybe...",
  "agentSignature": "0x..."
}

agentCid is always equal to projectCid, the Agent NFT reuses the project's own metadata, there's no separate metadata pool for it.

Errors: 400 with { "error": "..." } for a missing/invalid logo, missing name, or missing symbol.

WARNING

The returned agentSignature is only valid for this exact metadata. Call this endpoint again if any field changes, and deploy soon after. Don't cache and reuse a voucher across unrelated launches.

GET /api/holders/:tokenAddress

Top holders for a deployed token, sourced from an on-chain indexer with a 30-second cache.

Query params: limit (optional, default 20, max 50)

Response: 200 OK

json
{
  "holders": [
    { "wallet_address": "0x...", "amount": "12345000000000000000000", "usd_value": "482.10" }
  ]
}

GET /api/health

Liveness check. Returns 200 OK with no meaningful body. Use it to confirm the API is reachable.

Analytics endpoints

Mounted under /analytics on the same base URL.

EndpointReturns
GET /analytics/api/trendingTokens ranked by recent swap activity
GET /analytics/api/top-mcTokens ranked by market cap
GET /analytics/api/top-volumeTokens ranked by trading volume
GET /analytics/api/total-volumePlatform-wide cumulative volume
GET /analytics/api/global-mcPlatform-wide cumulative market cap

Each token entry in trending / top-mc / top-volume looks like:

json
{
  "token_address": "0x...",
  "name": "Baby Tendies",
  "symbol": "BabyTendies",
  "ipfs_hash": "bafkrei...",
  "last_mc": "3980.6862",
  "price_usd": "0.000003980686245003",
  "deployer_address": "0x...",
  "deployed_at_timestamp": "2026-07-17T21:07:19Z",
  "token_type": 1,
  "fee": 30000,
  "paired_token": "0x...",
  "pool_id": "0x...",
  "distributor": "0x...",
  "buy_count": 397,
  "sell_count": 341,
  "agent_token_id": "7",
  "trend_score": "30",
  "swap_count_24h": "21"
}

deployed_at_timestamp is always an explicit UTC ISO string (...Z suffix). Parse it as UTC directly, don't assume local time.

Working code

See the integration examples repo for runnable scripts that call every endpoint above, plus the on-chain deploy() call that follows it.

Built on Robinhood Chain.