# x4o2 > 10 USDC buys 30 days of API access: 300/minute, 10000/day per service on FOMO, Pump and Stonk. Bound to the settlement payer wallet; no email required. Renewals extend the later of expiry or purchase by 30 days. Refunds are manual. ## Documentation - [OpenAPI](https://x4o2.com/openapi.json): Machine-readable route definitions - [Complete documentation](https://x4o2.com/llms-full.txt): Parameters, schemas and captured examples - [API keys](https://x4o2.com/keys): Free access - [30-day pass](https://x4o2.com/pass): Higher limits ## Access and limits Free API key: https://x4o2.com/keys; Authorization: Bearer x4o2_… . Free access allows 60/minute and 1000/UTC day per service while spare capacity is available. 30-day pass: 10 USDC, 300/minute and 10000/UTC day per service, independent of free-tier pauses. POST https://x4o2.com/v1/pass with x402. Renewal extends from the later of expiry or purchase time. Wallet signing retrieves a replacement key at https://x4o2.com/pass; previous keys are revoked. Refunds are handled manually. x402: request without payment to receive a v2 PAYMENT-REQUIRED challenge; sign one accepted Base or Solana USDC option, retry with PAYMENT-SIGNATURE. PAYMENT-RESPONSE contains the settlement receipt. Failed calls are not settled. Counters reset on service restart. Pass expiry is enforced even when the key verifier is cached. Errors: 400 invalid/unknown parameters; 401 invalid or expired key; 402 payment required or verification failed; 409 payment in flight/replayed; 429 minute_quota_exceeded, daily_quota_exceeded, free_tier_paused (Retry-After); 502 upstream error; 503 busy/unavailable. RateLimit-* and X-RateLimit-* describe key quotas. ## Endpoints - [POST /pass/challenge](https://x4o2.com/pass/challenge): Create a one-time wallet recovery challenge Free. POST JSON {wallet,network}; Base eip155:8453 or Solana mainnet. Ten challenges/minute per IP. Message binds origin, wallet, network, nonce, and five-minute expiry. Request body: ```json { "required": true, "content": { "application/json": { "schema": { "type": "object", "required": [ "wallet", "network" ], "properties": { "wallet": { "type": "string" }, "network": { "type": "string" } } } } } } ``` Parameters: ```json [] ``` Responses (schemas and captured examples): ```json { "200": { "description": "{nonce,message}; sign the exact message using personal_sign (hex) or Ed25519 (base64)" }, "400": { "description": "invalid_wallet" }, "429": { "description": "rate_limited" } } ``` - [POST /pass/recover](https://x4o2.com/pass/recover): Recover pass status and replace a lost key Free. POST JSON {nonce,signature}. Valid wallet proof consumes the nonce once and revokes the previous pass key within 60 seconds. Shows status for active and expired passes; no email required. Request body: ```json { "required": true, "content": { "application/json": { "schema": { "type": "object", "required": [ "nonce", "signature" ], "properties": { "nonce": { "type": "string" }, "signature": { "type": "string" } } } } } } ``` Parameters: ```json [] ``` Responses (schemas and captured examples): ```json { "200": { "description": "{key,expiresAt,active,priceUsd,days,perMinute,perDay}; save the replacement key" }, "401": { "description": "invalid_signature; expired or reused nonce" }, "404": { "description": "pass_not_found_or_nonce_used" } } ``` - [POST /v1/pass](https://x4o2.com/v1/pass): Buy or renew a 30-day x4o2 pass (10 USD via x402) 10 USDC buys 30 days of API access: 300/minute, 10000/day per service on FOMO, Pump and Stonk. Bound to the settlement payer wallet; no email required. Renewals extend the later of expiry or purchase by 30 days. Refunds are manual. Request body: ```json {} ``` Parameters: ```json [] ``` Responses (schemas and captured examples): ```json { "200": { "description": "Settled pass; save the key. Renewals keep the existing key; recover it by wallet signing if lost.", "content": { "application/json": { "example": { "key": "x4o2_", "expiresAt": 1796072400000, "plan": "pass", "perMinute": 300, "perDay": 10000 } } } }, "402": { "description": "x402 v2 payment requirements; verification or settlement failure" }, "409": { "description": "Payment in flight or already processed; use wallet recovery" }, "503": { "description": "Facilitator unavailable" } } ``` --- ## FOMO Data API > Social trading data from FOMO (fomo.family): token market panel and stats, top holders with FOMO handles, wallets and P&L, posted theses, trade activity, candles, trader profiles with followers and following, the P&L leaderboard, trending and most-held token lists, token search and FOMO's live social feed of large trades, multi-trader buys, listings and theses. Every /v1 route costs one x402 micropayment. ### Documentation - [OpenAPI](https://fomo.x4o2.com/openapi.json): Machine-readable route definitions - [Complete documentation](https://fomo.x4o2.com/llms-full.txt): Parameters, schemas and captured examples - [API keys](https://x4o2.com/keys): Free access - [30-day pass](https://x4o2.com/pass): Higher limits ### Access and limits Free API key: https://x4o2.com/keys; Authorization: Bearer x4o2_… . Free access allows 60/minute and 1000/UTC day per service while spare capacity is available. 30-day pass: 10 USDC, 300/minute and 10000/UTC day per service, independent of free-tier pauses. POST https://x4o2.com/v1/pass with x402. Renewal extends from the later of expiry or purchase time. Wallet signing retrieves a replacement key at https://x4o2.com/pass; previous keys are revoked. Refunds are handled manually. x402: request without payment to receive a v2 PAYMENT-REQUIRED challenge; sign one accepted Base or Solana USDC option, retry with PAYMENT-SIGNATURE. PAYMENT-RESPONSE contains the settlement receipt. Failed calls are not settled. Counters reset on service restart. Pass expiry is enforced even when the key verifier is cached. Errors: 400 invalid/unknown parameters; 401 invalid or expired key; 402 payment required or verification failed; 409 payment in flight/replayed; 429 minute_quota_exceeded, daily_quota_exceeded, free_tier_paused (Retry-After); 502 upstream error; 503 busy/unavailable. RateLimit-* and X-RateLimit-* describe key quotas. ### Usage All routes are GET and cost 0.001 USDC per call via x402 on Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp); an unpaid request returns 402 with payment requirements. Identify a token by chain slug (solana, base, ethereum, bsc, monad, robinhood) or numeric network id plus its mint/contract address. Use GET /v1/search?q= to resolve a name or ticker. Start with GET /v1/token/{chain}/{address} for price, market cap, volume, buy/sell stats and safety warnings; /candles adds OHLCV history. Use /holders for the top FOMO traders holding the token (handle, wallets, position, P&L, thesis), /theses for the reasoning traders posted, /activity for the token's trade tape, /developers for the deployer's holdings. Use GET /v1/leaderboard (period=24h|7d|30d|all) for the best FOMO traders: every entry carries the Solana and EVM wallets, so no second call is needed for addresses. It is the top 150 (100 all-time) and cannot be paged. FOMO does rank every user, so beyond that collect candidates (followers, following, holders, the feed) and ask GET /v1/profiles?ids=...&include=rank (50 per call) for their ranks, or GET /v1/profile/{handle}?include=rank one at a time; /followers and /following give a trader's social graph. A query parameter a route does not list is a 400 unknown_parameter, never silently ignored. Use GET /v1/tokens/{list} (trending, most-held, graduated, community, verified) for discovery and GET /v1/feed for large trades and signals across all of FOMO, minutes old. Paginated routes (/following, /feed) return data.nextCursor to pass back as cursor=. Responses are { data, meta }; meta.observedAt and meta.source tell how fresh the data is. Pass maxAge= to require fresher data or stale=1 to accept any cached copy instantly. ### Endpoints - [GET /v1/token/{chain}/{address}](https://fomo.x4o2.com/v1/token/{chain}/{address}): Token overview from FOMO: price, market cap, volume, liquidity, buy/sell stats, warnings (0.001 USD via x402) Current FOMO market panel for one token (price, market cap, 24h volume, liquidity, holder count), its trading statistics (buy/sell counts and volumes over 5m and 24h, unique buyers/sellers, top-10 holder share) and FOMO's safety warnings. Use for a quick quantitative read on a Solana or Base token. Paid: 0.001 USDC per call via x402 (Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp)). Unpaid requests receive 402 with payment requirements. Request body: ```json {} ``` Parameters: ```json [ { "name": "chain", "in": "path", "required": true, "schema": { "type": "string", "description": "solana, base, ethereum, bsc, monad, robinhood or a numeric network id" }, "description": "solana, base, ethereum, bsc, monad, robinhood or a numeric network id", "example": "solana" }, { "name": "address", "in": "path", "required": true, "schema": { "type": "string", "description": "Token mint (Solana) or contract address (EVM)" }, "description": "Token mint (Solana) or contract address (EVM)", "example": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump" }, { "name": "maxAge", "in": "query", "required": false, "schema": { "type": "integer", "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "minimum": 0 }, "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "example": "5" }, { "name": "stale", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 returns any cached copy immediately and refreshes in the background", "enum": [ 0, 1 ] }, "description": "1 returns any cached copy immediately and refreshes in the background", "example": "0" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": [ "object", "null" ], "properties": { "market": { "type": [ "object", "null" ], "properties": { "isHiddenFromDiscovery": { "type": [ "boolean", "null" ] }, "basePair": { "type": [ "object", "null" ], "properties": { "address": { "type": [ "string", "null" ] }, "symbol": { "type": [ "string", "null" ] }, "logo": { "type": [ "string", "null" ] } } }, "buyCount1": {}, "buyCount4": {}, "buyCount12": {}, "buyCount24": {}, "change5m": { "type": [ "string", "null" ] }, "change1": { "type": [ "string", "null" ] }, "change4": { "type": [ "string", "null" ] }, "change12": { "type": [ "string", "null" ] }, "change24": { "type": [ "string", "null" ] }, "createdAt": { "type": [ "number", "null" ] }, "exchanges": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "name": { "type": [ "string", "null" ] } } } }, "holders": { "type": [ "number", "null" ] }, "top10HoldersPercent": {}, "liquidity": { "type": [ "string", "null" ] }, "marketCap": { "type": [ "string", "null" ] }, "pair": { "type": [ "object", "null" ], "properties": { "protocol": { "type": [ "string", "null" ] } } }, "priceUSD": { "type": [ "string", "null" ] }, "sellCount1": {}, "sellCount4": {}, "sellCount12": {}, "sellCount24": {}, "token": { "type": [ "object", "null" ], "properties": { "address": { "type": [ "string", "null" ] }, "decimals": { "type": [ "number", "null" ] }, "networkId": { "type": [ "number", "null" ] }, "createdAt": { "type": [ "number", "null" ] }, "name": { "type": [ "string", "null" ] }, "symbol": { "type": [ "string", "null" ] }, "freezable": {}, "mintable": {}, "isScam": {}, "i18n": {}, "info": { "type": [ "object", "null" ], "properties": { "address": { "type": [ "string", "null" ] }, "circulatingSupply": { "type": [ "string", "null" ] }, "cmcId": {}, "description": {}, "id": { "type": [ "string", "null" ] }, "imageBannerUrl": {}, "imageLargeUrl": { "type": [ "string", "null" ] }, "imageSmallUrl": { "type": [ "string", "null" ] }, "imageThumbUrl": { "type": [ "string", "null" ] }, "name": { "type": [ "string", "null" ] }, "networkId": { "type": [ "number", "null" ] }, "symbol": { "type": [ "string", "null" ] }, "totalSupply": { "type": [ "string", "null" ] } } }, "socialLinks": { "type": [ "object", "null" ], "properties": { "discord": {}, "telegram": { "type": [ "string", "null" ] }, "twitter": { "type": [ "string", "null" ] }, "website": { "type": [ "string", "null" ] }, "others": { "type": [ "object", "null" ], "properties": { "dexscreenerMetadataFields": { "type": [ "array", "null" ] } } } } }, "launchpad": { "type": [ "object", "null" ], "properties": { "launchpadName": { "type": [ "string", "null" ] }, "launchpadIconUrl": { "type": [ "string", "null" ] }, "graduationPercent": { "type": [ "number", "null" ] }, "migrated": { "type": [ "boolean", "null" ] } } } } }, "txnCount1": { "type": [ "number", "null" ] }, "txnCount4": { "type": [ "number", "null" ] }, "txnCount12": { "type": [ "number", "null" ] }, "txnCount24": { "type": [ "number", "null" ] }, "uniqueBuys1": {}, "uniqueBuys4": {}, "uniqueBuys12": {}, "uniqueBuys24": {}, "uniqueSells1": {}, "uniqueSells4": {}, "uniqueSells12": {}, "uniqueSells24": {}, "volume1": { "type": [ "string", "null" ] }, "volume5m": { "type": [ "string", "null" ] }, "volume4": { "type": [ "string", "null" ] }, "volume12": { "type": [ "string", "null" ] }, "volume24": { "type": [ "string", "null" ] } } }, "statistics": { "type": [ "object", "null" ], "properties": { "buyCount5m": { "type": [ "number", "null" ] }, "buyCount1": { "type": [ "number", "null" ] }, "buyCount4": { "type": [ "number", "null" ] }, "buyCount24": { "type": [ "number", "null" ] }, "buyVolume5m": { "type": [ "string", "null" ] }, "buyVolume1": { "type": [ "string", "null" ] }, "buyVolume4": { "type": [ "string", "null" ] }, "buyVolume24": { "type": [ "string", "null" ] }, "sellCount5m": { "type": [ "number", "null" ] }, "sellCount1": { "type": [ "number", "null" ] }, "sellCount4": { "type": [ "number", "null" ] }, "sellCount24": { "type": [ "number", "null" ] }, "sellVolume5m": { "type": [ "string", "null" ] }, "sellVolume1": { "type": [ "string", "null" ] }, "sellVolume4": { "type": [ "string", "null" ] }, "sellVolume24": { "type": [ "string", "null" ] }, "uniqueBuys5m": { "type": [ "number", "null" ] }, "uniqueBuys1": { "type": [ "number", "null" ] }, "uniqueBuys4": { "type": [ "number", "null" ] }, "uniqueBuys24": { "type": [ "number", "null" ] }, "uniqueSells5m": { "type": [ "number", "null" ] }, "uniqueSells1": { "type": [ "number", "null" ] }, "uniqueSells4": { "type": [ "number", "null" ] }, "uniqueSells24": { "type": [ "number", "null" ] }, "holders": { "type": [ "number", "null" ] }, "top10HoldersPercent": { "type": [ "number", "null" ] }, "isLowFees": { "type": [ "boolean", "null" ] } } }, "warnings": { "type": [ "object", "null" ], "properties": { "disableBuying": { "type": [ "boolean", "null" ] }, "disableSelling": { "type": [ "boolean", "null" ] }, "warnings": { "type": [ "array", "null" ] } } } } }, "meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "required": [ "data", "meta" ] }, "example": { "data": { "market": { "isHiddenFromDiscovery": false, "basePair": { "address": "So11111111111111111111111111111111111111112", "symbol": "SOL", "logo": "https://metadata.mobula.io/assets/logos/solana_solana_So11111111111111111111111111111111111111112.webp" }, "buyCount1": null, "buyCount4": null, "buyCount12": null, "buyCount24": null, "change5m": "-0.00011965927877621491", "change1": "0.010811236708969923", "change4": "0.00657966879025795", "change12": "-0.003388877535683848", "change24": "-0.06718606218800116", "createdAt": 1785083564, "exchanges": [ { "name": "PumpSwap" } ], "holders": 144672, "top10HoldersPercent": null, "liquidity": "1330467.735606206", "marketCap": "44299891.45289496", "pair": { "protocol": "PumpAmm" }, "priceUSD": "0.04594730845954886", "sellCount1": null, "sellCount4": null, "sellCount12": null, "sellCount24": null, "token": { "address": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump", "decimals": 6, "networkId": 1399811149, "createdAt": 1785083564, "name": "Cate", "symbol": "CATE", "freezable": null, "mintable": null, "isScam": null, "i18n": null, "info": { "address": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump", "circulatingSupply": "964145516.63882", "cmcId": null, "description": null, "id": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump:1399811149", "imageBannerUrl": null, "imageLargeUrl": "https://metadata.mobula.io/assets/logos/solana_solana_Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump.webp", "imageSmallUrl": "https://metadata.mobula.io/assets/logos/solana_solana_Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump.webp", "imageThumbUrl": "https://metadata.mobula.io/assets/logos/solana_solana_Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump.webp", "name": "Cate", "networkId": 1399811149, "symbol": "CATE", "totalSupply": "964145516.63882" }, "socialLinks": { "discord": null, "telegram": "https://t.me/catecoin_telegram", "twitter": "https://x.com/i/communities/2004330768022004131", "website": "https://cate.meme/", "others": { "dexscreenerMetadataFields": [ "logo", "dexscreenerHeader" ] } }, "launchpad": { "launchpadName": "Pump.fun", "launchpadIconUrl": "https://crypto-exchange-logos-production.s3.us-west-2.amazonaws.com/6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P.webp", "graduationPercent": 100, "migrated": true } }, "txnCount1": 495, "txnCount4": 3210, "txnCount12": 13692, "txnCount24": 23752, "uniqueBuys1": null, "uniqueBuys4": null, "uniqueBuys12": null, "uniqueBuys24": null, "uniqueSells1": null, "uniqueSells4": null, "uniqueSells12": null, "uniqueSells24": null, "volume1": "32455.289657694986", "volume5m": "1197.1592523416332", "volume4": "286450.9528600208", "volume12": "1123977.856518628", "volume24": "1952427.280316228" }, "statistics": { "buyCount5m": 15, "buyCount1": 234, "buyCount4": 1703, "buyCount24": 12157, "buyVolume5m": "831.0457830746597", "buyVolume1": "22547.59585313913", "buyVolume4": "144211.6062985858", "buyVolume24": "941643.763975995", "sellCount5m": 15, "sellCount1": 261, "sellCount4": 1507, "sellCount24": 11595, "sellVolume5m": "366.1134692669736", "sellVolume1": "9907.693804555856", "sellVolume4": "142239.34656143503", "sellVolume24": "1010783.5163402329", "uniqueBuys5m": 6, "uniqueBuys1": 108, "uniqueBuys4": 612, "uniqueBuys24": 5211, "uniqueSells5m": 6, "uniqueSells1": 117, "uniqueSells4": 559, "uniqueSells24": 4967, "holders": 144673, "top10HoldersPercent": 15.729307726072964, "isLowFees": false }, "warnings": { "disableBuying": false, "disableSelling": false, "warnings": [] } }, "meta": { "observedAt": 1793069282030, "ageMs": 236, "source": "fresh", "parts": { "market": { "observedAt": 1793069282030, "source": "fresh" }, "statistics": { "observedAt": 1793069282030, "source": "fresh" }, "warnings": { "observedAt": 1793069282030, "source": "fresh" } } } } } } }, "400": { "description": "{ error, message } for a bad chain, address, handle or query; unknown_parameter (with parameter and allowed) for a query key the route does not take" }, "402": { "description": "Payment Required; x4o2-free-key extension describes free key signup and Authorization header" }, "404": { "description": "unknown_handle: no FOMO user with that handle" }, "409": { "description": "payment_in_flight: the same x402 payment is already being used by another request" }, "429": { "description": "Free key over its limit: minute_quota_exceeded, daily_quota_exceeded (resets 00:00 UTC) or free_tier_paused; honour Retry-After or pay per call; upgrade includes price, networks, payment instructions, discovery, docs and UTC daily reset. Link points to docs. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows" }, "502": { "description": "unavailable: FOMO answered with an error; retry shortly" }, "503": { "description": "busy or unavailable: temporarily out of upstream capacity; honour Retry-After or pass stale=1" } } ``` - [GET /v1/token/{chain}/{address}/holders](https://fomo.x4o2.com/v1/token/{chain}/{address}/holders): Top FOMO holders of a token with handle, position, P&L and thesis (0.001 USD via x402) The FOMO users holding the most of a token: each holder's FOMO handle and id, token amount, position value, cost basis, realized and unrealized P&L, hold time, developer flag and their posted thesis. Covers holders who trade on FOMO, not every on-chain wallet. Use for social and holder analysis of a token. Paid: 0.001 USDC per call via x402 (Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp)). Unpaid requests receive 402 with payment requirements. Request body: ```json {} ``` Parameters: ```json [ { "name": "chain", "in": "path", "required": true, "schema": { "type": "string", "description": "solana, base, ethereum, bsc, monad, robinhood or a numeric network id" }, "description": "solana, base, ethereum, bsc, monad, robinhood or a numeric network id", "example": "solana" }, { "name": "address", "in": "path", "required": true, "schema": { "type": "string", "description": "Token mint (Solana) or contract address (EVM)" }, "description": "Token mint (Solana) or contract address (EVM)", "example": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump" }, { "name": "maxAge", "in": "query", "required": false, "schema": { "type": "integer", "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "minimum": 0 }, "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "example": "5" }, { "name": "stale", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 returns any cached copy immediately and refreshes in the background", "enum": [ 0, 1 ] }, "description": "1 returns any cached copy immediately and refreshes in the background", "example": "0" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": [ "object", "null" ], "properties": { "tokenAddress": { "type": [ "string", "null" ] }, "networkId": { "type": [ "number", "null" ] }, "topHolders": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "user": { "type": [ "object", "null" ], "properties": { "id": { "type": [ "string", "null" ] }, "address": { "type": [ "string", "null" ] }, "evmAddress": { "type": [ "string", "null" ] }, "createdAt": { "type": [ "string", "null" ] }, "displayName": { "type": [ "string", "null" ] }, "userHandle": { "type": [ "string", "null" ] }, "profilePictureLink": { "type": [ "string", "null" ] }, "description": { "type": [ "string", "null" ] }, "following": { "type": [ "number", "null" ] }, "followers": { "type": [ "number", "null" ] }, "activated": { "type": [ "boolean", "null" ] }, "verified": { "type": [ "boolean", "null" ] }, "isReferred": { "type": [ "boolean", "null" ] }, "isRestricted": { "type": [ "boolean", "null" ] }, "swapCount": { "type": [ "number", "null" ] }, "numTrades": { "type": [ "number", "null" ] }, "totalVolume": { "type": [ "number", "null" ] }, "private": { "type": [ "boolean", "null" ] }, "thumbhash": { "type": [ "string", "null" ] }, "coverPhotoLink": { "type": [ "string", "null" ] }, "coverPhotoThumbhash": { "type": [ "string", "null" ] }, "twitter": {}, "clan": {}, "badge": { "type": [ "object", "null" ], "properties": { "type": { "type": [ "string", "null" ] }, "title": { "type": [ "string", "null" ] }, "text": { "type": [ "string", "null" ] }, "image": {}, "metadata": { "type": [ "object", "null" ] } } } } }, "tradeId": { "type": [ "string", "null" ] }, "sumSwapOpen": { "type": [ "number", "null" ] }, "sumTransferIn": { "type": [ "number", "null" ] }, "isExternallyReceived": { "type": [ "boolean", "null" ] }, "humanAmount": { "type": [ "number", "null" ] }, "price": { "type": [ "number", "null" ] }, "value": { "type": [ "number", "null" ] }, "pnl": { "type": [ "number", "null" ] }, "unrealizedPnl": { "type": [ "number", "null" ] }, "realizedPnl": { "type": [ "number", "null" ] }, "costBasis": { "type": [ "number", "null" ] }, "averageEntryPrice": { "type": [ "number", "null" ] }, "comment": { "type": [ "object", "null" ], "properties": { "id": { "type": [ "string", "null" ] }, "userId": { "type": [ "string", "null" ] }, "tradeId": { "type": [ "string", "null" ] }, "comment": { "type": [ "string", "null" ] }, "priceUsdAtCreation": { "type": [ "number", "null" ] }, "marketCapAtCreation": { "type": [ "number", "null" ] }, "fdvAtCreation": { "type": [ "number", "null" ] }, "createdAt": { "type": [ "string", "null" ] }, "parentId": {}, "numLikes": { "type": [ "number", "null" ] }, "tokenAddress": { "type": [ "string", "null" ] }, "networkId": { "type": [ "number", "null" ] }, "reactions": { "type": [ "object", "null" ], "properties": { "counts": { "type": [ "object", "null" ] }, "reactions": { "type": [ "object", "null" ] } } }, "olderThesis": { "type": [ "number", "null" ] }, "newerThesis": { "type": [ "number", "null" ] }, "shortCommentSegments": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ] } }, "translation": {} } }, "numReplies": { "type": [ "number", "null" ] }, "showComment": { "type": [ "boolean", "null" ] }, "averageHoldTimeSeconds": { "type": [ "number", "null" ] }, "isDev": { "type": [ "boolean", "null" ] } } } }, "totalHolders": { "type": [ "number", "null" ] } } }, "meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "required": [ "data", "meta" ] }, "example": { "data": { "tokenAddress": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump", "networkId": 1399811149, "topHolders": [ { "user": { "id": "df983a8b-5e5b-5e91-802f-1472e96f04c3", "address": "HXCYBexdXRrNTa3NHHJiKh5wsjb6zfW79MxQYGsszouu", "evmAddress": "0xee368a44d334ab499b25efabbc879548d7be4143", "createdAt": "2025-11-11T13:50:41.428Z", "displayName": "PoorGoat💛🐈", "userHandle": "PoorGoat_", "profilePictureLink": "https://prod-fomo-profile-pics.s3.amazonaws.com/f5eff84fd61177cfe9371f56d15dcf71_small.jpg?k=300gfQS2OYdk8LynpHrPw58Ww", "description": "Road to 8 Figs 💛🐈\nFind me on X @poorgoat_\nI WILL NEVER ENDORSE A POORGOAT COIN\nNever blindly follow anyone’s trades...", "following": 41, "followers": 616606, "activated": false, "verified": false, "isReferred": false, "isRestricted": false, "swapCount": 1815, "numTrades": 4537, "totalVolume": 1565871.211134, "private": false, "thumbhash": "JVoODwLolqZ4d4h/l2iId5h3ifYHZ30A", "coverPhotoLink": "https://prod-fomo-profile-pics.s3.amazonaws.com/61edf29f1d74e084a99d189230d2028d.jpg?k=300gfQS2OYdk8LynpHrPw58Ww", "coverPhotoThumbhash": "zSgKGoSLiYe/l8h5e7+998o=", "twitter": null, "clan": null, "badge": { "type": "top_100_badge", "title": "Top 100", "text": "Awarded to traders who have reached all-time top 100 on the leaderboard", "image": null, "metadata": { "rank": 12, "totalPnL": 1362885.5491541424 } } }, "tradeId": "1074837b-640e-44b2-aa27-cb0fe6f68ef9", "sumSwapOpen": 33240544.89, "sumTransferIn": 72248.41, "isExternallyReceived": false, "humanAmount": 27556090.81, "price": 0.04594730845954886, "value": 1266128.2, "pnl": 1216939.1, "unrealizedPnl": 1149298.53, "realizedPnl": 67640.57, "costBasis": 141236.39, "averageEntryPrice": 0.0042397, "comment": { "id": "t2-9f21df3836753cbc533f85721e35c699c471cb820a4b06c0ad61a3fd39094534-2c2c2d65", "userId": "df983a8b-5e5b-5e91-802f-1472e96f04c3", "tradeId": "1074837b-640e-44b2-aa27-cb0fe6f68ef9", "comment": "BALLS TINGLING\n\nALSO COME TO SPACES TMMRW \n\nhttps://x.com/poorgoat_/status/2114864996223979606", "priceUsdAtCreation": 0.044919399331, "marketCapAtCreation": 43319212.75605363, "fdvAtCreation": 43319212.75605363, "createdAt": "2026-10-27T00:41:38.327Z", "parentId": null, "numLikes": 127, "tokenAddress": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump", "networkId": 1399811149, "reactions": { "counts": { "likeCount": 127 }, "reactions": { "like": false } }, "olderThesis": 1765, "newerThesis": 0, "shortCommentSegments": [ { "text": "BALLS TINGLING\n\nALSO COME TO SPACES TMMRW \n\n", "link": null, "provider": null }, { "text": "https://x.com/poorgoat_/status/2114864996223979606", "link": "https://x.com/poorgoat_/status/2114864996223979606", "provider": null } ], "translation": null }, "numReplies": 0, "showComment": true, "averageHoldTimeSeconds": 340449, "isDev": false }, { "user": { "id": "c3eac5cf-e699-5d5b-8593-a767ea739932", "address": "2r8Z99rdDQNuiGHBoK1bbfVvifiYUwofc8e7wUz7S7Qm", "evmAddress": "0x8f634d1a20c2f866954e4f6f24ba12d252f4f0df", "createdAt": "2026-08-23T21:43:04.648Z", "displayName": "bluntz", "userHandle": "bluntz_capital", "profilePictureLink": "https://prod-fomo-profile-pics.s3.amazonaws.com/b382da4fde3a39853ed741e6b5b7bead_small.jpg?k=300gfQS2OYdk8LynpHrPw58Ww", "description": "", "following": 30, "followers": 108685, "activated": false, "verified": false, "isReferred": true, "isRestricted": false, "swapCount": 1519, "numTrades": 1811, "totalVolume": 20539187.044056, "private": false, "thumbhash": "0xkOLwIZN3d4h3hwh3uHOLh4d5QIN3oA", "coverPhotoLink": null, "coverPhotoThumbhash": null, "twitter": null, "clan": null }, "tradeId": "8bd1803c-6bd3-444e-9204-38ea9441ebfb", "sumSwapOpen": 27716728.79, "sumTransferIn": 518.47, "isExternallyReceived": false, "humanAmount": 27410470.11, "price": 0.04594730845954886, "value": 1259437.33, "pnl": -293413.54, "unrealizedPnl": -303527.06, "realizedPnl": 10113.52, "costBasis": 1580457.04, "averageEntryPrice": 0.0570207, "comment": { "id": "t2-bedef1b1983edd828ad8eaf6203b1acb217c5f644be1a1828cb4c2297d15e0a7-31d4233e", "userId": "c3eac5cf-e699-5d5b-8593-a767ea739932", "tradeId": "8bd1803c-6bd3-444e-9204-38ea9441ebfb", "comment": "if you cant handle the dips you dont deserve the rips.\n\nfully expecting to see cate holders to continue dominating th...", "priceUsdAtCreation": 0.0783349866972, "marketCapAtCreation": 75544419.68320712, "fdvAtCreation": 75544419.68320712, "createdAt": "2026-10-18T02:01:23.579Z", "parentId": null, "numLikes": 752, "tokenAddress": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump", "networkId": 1399811149, "reactions": { "counts": { "likeCount": 752 }, "reactions": { "like": false } }, "olderThesis": 44, "newerThesis": 0, "shortCommentSegments": [ { "text": "if you cant handle the dips you dont deserve the rips.\n\nfully expecting to see cate holders to continue dominating th...", "link": null, "provider": null } ], "translation": null }, "numReplies": 0, "showComment": true, "averageHoldTimeSeconds": 321884, "isDev": false } ], "totalHolders": 93803 }, "meta": { "observedAt": 1793069282302, "ageMs": 172, "source": "fresh", "parts": { "holders": { "observedAt": 1793069282302, "source": "fresh" } } } } } } }, "400": { "description": "{ error, message } for a bad chain, address, handle or query; unknown_parameter (with parameter and allowed) for a query key the route does not take" }, "402": { "description": "Payment Required; x4o2-free-key extension describes free key signup and Authorization header" }, "404": { "description": "unknown_handle: no FOMO user with that handle" }, "409": { "description": "payment_in_flight: the same x402 payment is already being used by another request" }, "429": { "description": "Free key over its limit: minute_quota_exceeded, daily_quota_exceeded (resets 00:00 UTC) or free_tier_paused; honour Retry-After or pay per call; upgrade includes price, networks, payment instructions, discovery, docs and UTC daily reset. Link points to docs. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows" }, "502": { "description": "unavailable: FOMO answered with an error; retry shortly" }, "503": { "description": "busy or unavailable: temporarily out of upstream capacity; honour Retry-After or pass stale=1" } } ``` - [GET /v1/token/{chain}/{address}/theses](https://fomo.x4o2.com/v1/token/{chain}/{address}/theses): Theses FOMO traders posted on a token, with likes, replies and the poster's position (0.001 USD via x402) The thesis feed for one token: the text each FOMO trader attached to their trade, who posted it, like and reply counts, when it was posted and the trade it belongs to. Pass thread= to also return the reply thread under one thesis. Use to read trader sentiment and reasoning on a token. Paid: 0.001 USDC per call via x402 (Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp)). Unpaid requests receive 402 with payment requirements. Request body: ```json {} ``` Parameters: ```json [ { "name": "chain", "in": "path", "required": true, "schema": { "type": "string", "description": "solana, base, ethereum, bsc, monad, robinhood or a numeric network id" }, "description": "solana, base, ethereum, bsc, monad, robinhood or a numeric network id", "example": "solana" }, { "name": "address", "in": "path", "required": true, "schema": { "type": "string", "description": "Token mint (Solana) or contract address (EVM)" }, "description": "Token mint (Solana) or contract address (EVM)", "example": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump" }, { "name": "maxAge", "in": "query", "required": false, "schema": { "type": "integer", "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "minimum": 0 }, "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "example": "5" }, { "name": "stale", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 returns any cached copy immediately and refreshes in the background", "enum": [ 0, 1 ] }, "description": "1 returns any cached copy immediately and refreshes in the background", "example": "0" }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "description": "Number of entries, 1-100", "minimum": 1, "maximum": 100, "default": 50 }, "description": "Number of entries, 1-100", "example": "50" }, { "name": "thread", "in": "query", "required": false, "schema": { "type": "string", "description": "Trade id (uuid) whose reply thread to include" }, "description": "Trade id (uuid) whose reply thread to include" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": [ "object", "null" ], "properties": { "theses": { "type": [ "object", "null" ], "properties": { "items": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "type": { "type": [ "string", "null" ] }, "id": { "type": [ "string", "null" ] }, "tradeId": { "type": [ "string", "null" ] }, "createdAt": { "type": [ "string", "null" ] }, "userId": { "type": [ "string", "null" ] }, "displayName": { "type": [ "string", "null" ] }, "userHandle": { "type": [ "string", "null" ] }, "profilePictureLink": { "type": [ "string", "null" ] }, "verified": { "type": [ "boolean", "null" ] }, "twitter": {}, "comment": { "type": [ "object", "null" ], "properties": { "id": { "type": [ "string", "null" ] }, "userId": { "type": [ "string", "null" ] }, "tradeId": { "type": [ "string", "null" ] }, "comment": { "type": [ "string", "null" ] }, "priceUsdAtCreation": { "type": [ "number", "null" ] }, "marketCapAtCreation": { "type": [ "number", "null" ] }, "fdvAtCreation": { "type": [ "number", "null" ] }, "createdAt": { "type": [ "string", "null" ] }, "parentId": {}, "numLikes": { "type": [ "number", "null" ] }, "tokenAddress": { "type": [ "string", "null" ] }, "networkId": { "type": [ "number", "null" ] }, "shortCommentSegments": { "type": [ "array", "null" ] }, "reactions": { "type": [ "object", "null" ] }, "olderThesis": { "type": [ "number", "null" ] }, "newerThesis": { "type": [ "number", "null" ] }, "translation": {} } }, "numReplies": { "type": [ "number", "null" ] }, "authorTrade": { "type": [ "object", "null" ], "properties": { "humanTokenAmount": { "type": [ "number", "null" ] }, "usdValue": { "type": [ "number", "null" ] }, "unrealizedPnlUsd": { "type": [ "number", "null" ] }, "realizedPnlUsd": { "type": [ "number", "null" ] }, "percentageUnrealizedPnl": { "type": [ "number", "null" ] }, "percentageRealizedPnl": { "type": [ "number", "null" ] }, "closedAt": {} } }, "tokenAddress": { "type": [ "string", "null" ] }, "networkId": { "type": [ "number", "null" ] }, "ticker": { "type": [ "string", "null" ] }, "tokenImageUrl": { "type": [ "string", "null" ] }, "equity": { "type": [ "number", "null" ] }, "threshold": { "type": [ "number", "null" ] }, "isDev": { "type": [ "boolean", "null" ] }, "clanBadge": { "type": [ "object", "null" ], "properties": { "type": { "type": [ "string", "null" ] }, "title": { "type": [ "string", "null" ] }, "text": { "type": [ "string", "null" ] }, "image": { "type": [ "string", "null" ] }, "metadata": { "type": [ "object", "null" ] } } } } } }, "hasNextPage": { "type": [ "boolean", "null" ] }, "count": { "type": [ "number", "null" ] } } }, "thread": {} } }, "meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "required": [ "data", "meta" ] }, "example": { "data": { "theses": { "items": [ { "type": "thesis", "id": "t2-e839855680cd7fd424fbe08d7a29c04a10fb5bc560a4dd43dd3c6dab8892c534-8839db5e", "tradeId": "471d0b71-9132-4da0-a99e-05115f1834ee", "createdAt": "2026-10-27T02:47:43.675Z", "userId": "789e5606-8a27-50ff-9c0a-653c77a40f59", "displayName": "Devious", "userHandle": "DeviousGainz", "profilePictureLink": "https://prod-fomo-profile-pics.s3.amazonaws.com/33d018db6ee9ca7483f9c303a5cdd63d_small.jpg?k=300gfQS2OYdk8LynpHrPw58Ww", "verified": false, "twitter": null, "comment": { "id": "t2-e839855680cd7fd424fbe08d7a29c04a10fb5bc560a4dd43dd3c6dab8892c534-8839db5e", "userId": "789e5606-8a27-50ff-9c0a-653c77a40f59", "tradeId": "471d0b71-9132-4da0-a99e-05115f1834ee", "comment": "When You Survive The Abyss You Don’t Just Heal YOU EVOLVE.", "priceUsdAtCreation": 0.0459826420792, "marketCapAtCreation": 44344579.067860484, "fdvAtCreation": 44344579.067860484, "createdAt": "2026-10-27T02:47:43.675Z", "parentId": null, "numLikes": 2, "tokenAddress": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump", "networkId": 1399811149, "shortCommentSegments": [ { "text": "When You Survive The Abyss You Don’t Just Heal YOU EVOLVE.", "link": null, "provider": null } ], "reactions": { "counts": { "likeCount": 2 }, "reactions": { "like": false } }, "olderThesis": 285, "newerThesis": 0, "translation": null }, "numReplies": 0, "authorTrade": { "humanTokenAmount": 1393321.13, "usdValue": 64019.36, "unrealizedPnlUsd": 9176.09, "realizedPnlUsd": 0, "percentageUnrealizedPnl": 16.7314, "percentageRealizedPnl": 0, "closedAt": null }, "tokenAddress": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump", "networkId": 1399811149, "ticker": "CATE", "tokenImageUrl": "https://token-media.defined.fi/1399811149_Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump_small_ca0d4b10f481.png", "equity": 0, "threshold": 64019.36, "isDev": false, "clanBadge": { "type": "clan", "title": "TitusTradz", "text": "Awarded for being in a clan", "image": "https://prod-fomo-profile-pics.s3.amazonaws.com/54f9784255f1462d08fb4dc1be2ed954.jpg?k=300gfQS2OYdk8LynpHrPw58Ww", "metadata": { "clanId": "ac478b54-d111-4674-a283-9cb739a9ce5c", "memberType": "member" } } }, { "type": "thesis", "id": "t2-38be1e89194e73773d09cbadc55e44ae9d1df61f4603adcefd5930b8b8fd7c2f-f507a534", "tradeId": "ea4f36d5-6075-45d2-aa88-c73920a0017a", "createdAt": "2026-10-27T02:47:40.786Z", "userId": "cbc5f9f5-2043-501a-a9bd-13933c15fe25", "displayName": "$$$", "userHandle": "Clueless2000", "profilePictureLink": "https://prod-fomo-profile-pics.s3.amazonaws.com/af54eab7f950575eaff34080f999e97a_small.jpg?k=300gfQS2OYdk8LynpHrPw58Ww", "verified": false, "twitter": null, "comment": { "id": "t2-38be1e89194e73773d09cbadc55e44ae9d1df61f4603adcefd5930b8b8fd7c2f-f507a534", "userId": "cbc5f9f5-2043-501a-a9bd-13933c15fe25", "tradeId": "ea4f36d5-6075-45d2-aa88-c73920a0017a", "comment": "Cheeks definitely has an OF", "priceUsdAtCreation": 0.0459826420792, "marketCapAtCreation": 44344579.067860484, "fdvAtCreation": 44344579.067860484, "createdAt": "2026-10-27T02:47:40.786Z", "parentId": null, "numLikes": 1, "tokenAddress": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump", "networkId": 1399811149, "shortCommentSegments": [ { "text": "Cheeks definitely has an OF", "link": null, "provider": null } ], "reactions": { "counts": { "likeCount": 1 }, "reactions": { "like": false } }, "olderThesis": 214, "newerThesis": 0, "translation": null }, "numReplies": 0, "authorTrade": { "humanTokenAmount": 606029.55, "usdValue": 27845.43, "unrealizedPnlUsd": -2109.34, "realizedPnlUsd": 6029.51, "percentageUnrealizedPnl": -7.04176, "percentageRealizedPnl": 13.3518, "closedAt": null }, "tokenAddress": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump", "networkId": 1399811149, "ticker": "CATE", "tokenImageUrl": "https://token-media.defined.fi/1399811149_Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump_small_ca0d4b10f481.png", "equity": 0, "threshold": 33874.94, "isDev": false, "clanBadge": { "type": "clan", "title": "Cats Have 9 Lives", "text": "Awarded for being in a clan", "image": "https://prod-fomo-profile-pics.s3.amazonaws.com/clans/1ec23f56-b788-4e9c-b515-a17fe57790ed/icon/b30633722bbe2592b07b5...", "metadata": { "clanId": "1ec23f56-b788-4e9c-b515-a17fe57790ed", "memberType": "member" } } } ], "hasNextPage": true, "count": 1135427 }, "thread": null }, "meta": { "observedAt": 1793069282522, "ageMs": 136, "source": "fresh", "parts": { "theses": { "observedAt": 1793069282522, "source": "fresh" } } } } } } }, "400": { "description": "{ error, message } for a bad chain, address, handle or query; unknown_parameter (with parameter and allowed) for a query key the route does not take" }, "402": { "description": "Payment Required; x4o2-free-key extension describes free key signup and Authorization header" }, "404": { "description": "unknown_handle: no FOMO user with that handle" }, "409": { "description": "payment_in_flight: the same x402 payment is already being used by another request" }, "429": { "description": "Free key over its limit: minute_quota_exceeded, daily_quota_exceeded (resets 00:00 UTC) or free_tier_paused; honour Retry-After or pay per call; upgrade includes price, networks, payment instructions, discovery, docs and UTC daily reset. Link points to docs. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows" }, "502": { "description": "unavailable: FOMO answered with an error; retry shortly" }, "503": { "description": "busy or unavailable: temporarily out of upstream capacity; honour Retry-After or pass stale=1" } } ``` - [GET /v1/token/{chain}/{address}/activity](https://fomo.x4o2.com/v1/token/{chain}/{address}/activity): Recent FOMO trading activity on a token: who bought or sold, how much, at what price (0.001 USD via x402) The token's trade tape as FOMO shows it: recent buys, sells and transfers by FOMO users with handle, USD amount, price and market cap at the time. Use to see which traders are active in a token right now. Paid: 0.001 USDC per call via x402 (Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp)). Unpaid requests receive 402 with payment requirements. Request body: ```json {} ``` Parameters: ```json [ { "name": "chain", "in": "path", "required": true, "schema": { "type": "string", "description": "solana, base, ethereum, bsc, monad, robinhood or a numeric network id" }, "description": "solana, base, ethereum, bsc, monad, robinhood or a numeric network id", "example": "solana" }, { "name": "address", "in": "path", "required": true, "schema": { "type": "string", "description": "Token mint (Solana) or contract address (EVM)" }, "description": "Token mint (Solana) or contract address (EVM)", "example": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump" }, { "name": "maxAge", "in": "query", "required": false, "schema": { "type": "integer", "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "minimum": 0 }, "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "example": "5" }, { "name": "stale", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 returns any cached copy immediately and refreshes in the background", "enum": [ 0, 1 ] }, "description": "1 returns any cached copy immediately and refreshes in the background", "example": "0" }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "description": "Number of entries, 1-100", "minimum": 1, "maximum": 100, "default": 50 }, "description": "Number of entries, 1-100", "example": "50" }, { "name": "threshold", "in": "query", "required": false, "schema": { "type": "number", "description": "Minimum USD size of events to include", "minimum": 0 }, "description": "Minimum USD size of events to include", "example": "0" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": [ "object", "null" ], "properties": { "items": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "type": { "type": [ "string", "null" ] }, "id": { "type": [ "string", "null" ] }, "tradeId": { "type": [ "string", "null" ] }, "createdAt": { "type": [ "string", "null" ] }, "userId": { "type": [ "string", "null" ] }, "displayName": { "type": [ "string", "null" ] }, "userHandle": { "type": [ "string", "null" ] }, "profilePictureLink": { "type": [ "string", "null" ] }, "verified": { "type": [ "boolean", "null" ] }, "twitter": {}, "usdAmount": { "type": [ "number", "null" ] }, "marketCap": { "type": [ "number", "null" ] }, "fdv": { "type": [ "number", "null" ] }, "price": { "type": [ "number", "null" ] }, "displayPriceUsd": { "type": [ "number", "null" ] }, "isDev": { "type": [ "boolean", "null" ] } } } }, "hasNextPage": { "type": [ "boolean", "null" ] } } }, "meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "required": [ "data", "meta" ] }, "example": { "data": { "items": [ { "type": "swap_sell", "id": "d0fb8da7-f228-4c34-8f9b-2e6b0dc1af93", "tradeId": "5ebccf96-c3c8-4724-883d-eb08eaad988d", "createdAt": "2026-10-27T02:47:45.000Z", "userId": "39c1932f-3765-5925-907d-b987a3873da7", "displayName": "aidennotrich", "userHandle": "aidennotrich", "profilePictureLink": "https://prod-fomo-profile-pics.s3.amazonaws.com/9c2086970fc54946b5802b35276d741e_small.jpg?k=300gfQS2OYdk8LynpHrPw58Ww", "verified": false, "twitter": null, "usdAmount": 70.75, "marketCap": 44155100, "fdv": 44155100, "price": 0.0457971, "displayPriceUsd": 0.0457971, "isDev": false }, { "type": "swap_buy", "id": "0f1ce7b9-d34c-498a-8965-0ea709ebfd2a", "tradeId": "ab113318-9420-4190-b446-d31edef8c461", "createdAt": "2026-10-27T02:47:30.000Z", "userId": "5b556523-a4a3-5740-86f6-78d285fe44a0", "displayName": "masone", "userHandle": "masone", "profilePictureLink": null, "verified": false, "twitter": null, "usdAmount": 21.77, "marketCap": 44270900, "fdv": 44270900, "price": 0.0459172, "displayPriceUsd": 0.0459172, "isDev": false } ], "hasNextPage": true }, "meta": { "observedAt": 1793069282684, "ageMs": 49, "source": "fresh", "parts": { "tokenActivity": { "observedAt": 1793069282684, "source": "fresh" } } } } } } }, "400": { "description": "{ error, message } for a bad chain, address, handle or query; unknown_parameter (with parameter and allowed) for a query key the route does not take" }, "402": { "description": "Payment Required; x4o2-free-key extension describes free key signup and Authorization header" }, "404": { "description": "unknown_handle: no FOMO user with that handle" }, "409": { "description": "payment_in_flight: the same x402 payment is already being used by another request" }, "429": { "description": "Free key over its limit: minute_quota_exceeded, daily_quota_exceeded (resets 00:00 UTC) or free_tier_paused; honour Retry-After or pay per call; upgrade includes price, networks, payment instructions, discovery, docs and UTC daily reset. Link points to docs. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows" }, "502": { "description": "unavailable: FOMO answered with an error; retry shortly" }, "503": { "description": "busy or unavailable: temporarily out of upstream capacity; honour Retry-After or pass stale=1" } } ``` - [GET /v1/profile/{handle}](https://fomo.x4o2.com/v1/profile/{handle}): A FOMO trader's profile: followers, trade counts, volume, P&L, hold time; optionally trades, balances, rank (0.001 USD via x402) The public profile of one FOMO user by handle: id, Solana (address) and EVM (evmAddress) wallets, follower and following counts, swap and trade counts, volume and average hold time. Add include=trades,balances,rank,spotlight for trade history, token balances and leaderboard positions: data.rank is { all, 24h, 7d, 30d } of { rank, pnl } (FOMO ranks every user, far beyond the top 100). Use to evaluate a trader seen anywhere; for many at once use GET /v1/profiles. Paid: 0.001 USDC per call via x402 (Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp)). Unpaid requests receive 402 with payment requirements. Request body: ```json {} ``` Parameters: ```json [ { "name": "handle", "in": "path", "required": true, "schema": { "type": "string", "description": "FOMO user handle" }, "description": "FOMO user handle", "example": "PoorGoat_" }, { "name": "maxAge", "in": "query", "required": false, "schema": { "type": "integer", "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "minimum": 0 }, "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "example": "5" }, { "name": "stale", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 returns any cached copy immediately and refreshes in the background", "enum": [ 0, 1 ] }, "description": "1 returns any cached copy immediately and refreshes in the background", "example": "0" }, { "name": "include", "in": "query", "required": false, "schema": { "type": "string", "description": "Comma-separated extras: trades, balances, rank, spotlight" }, "description": "Comma-separated extras: trades, balances, rank, spotlight", "example": "rank" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": [ "object", "null" ], "properties": { "profile": { "type": [ "object", "null" ], "properties": { "id": { "type": [ "string", "null" ] }, "address": { "type": [ "string", "null" ] }, "evmAddress": { "type": [ "string", "null" ] }, "createdAt": { "type": [ "string", "null" ] }, "displayName": { "type": [ "string", "null" ] }, "userHandle": { "type": [ "string", "null" ] }, "profilePictureLink": { "type": [ "string", "null" ] }, "description": { "type": [ "string", "null" ] }, "following": { "type": [ "number", "null" ] }, "followers": { "type": [ "number", "null" ] }, "activated": { "type": [ "boolean", "null" ] }, "verified": { "type": [ "boolean", "null" ] }, "isReferred": { "type": [ "boolean", "null" ] }, "isRestricted": { "type": [ "boolean", "null" ] }, "swapCount": { "type": [ "number", "null" ] }, "numTrades": { "type": [ "number", "null" ] }, "totalVolume": { "type": [ "number", "null" ] }, "private": { "type": [ "boolean", "null" ] }, "thumbhash": { "type": [ "string", "null" ] }, "coverPhotoLink": { "type": [ "string", "null" ] }, "coverPhotoThumbhash": { "type": [ "string", "null" ] }, "twitter": {}, "clan": {}, "followsCurrentUser": { "type": [ "boolean", "null" ] }, "numFriendsFollowing": { "type": [ "number", "null" ] }, "friendsFollowing": { "type": [ "array", "null" ] }, "averageHoldTimeSeconds": { "type": [ "number", "null" ] }, "badge": { "type": [ "object", "null" ], "properties": { "type": { "type": [ "string", "null" ] }, "title": { "type": [ "string", "null" ] }, "text": { "type": [ "string", "null" ] }, "image": {}, "metadata": { "type": [ "object", "null" ], "properties": { "rank": { "type": [ "number", "null" ] }, "totalPnL": { "type": [ "number", "null" ] } } } } } } }, "trades": {}, "balances": {}, "rank": { "type": [ "object", "null" ], "properties": { "all": { "type": [ "object", "null" ], "properties": { "rank": { "type": [ "number", "null" ] }, "pnl": { "type": [ "number", "null" ] } } }, "24h": { "type": [ "object", "null" ], "properties": { "rank": { "type": [ "number", "null" ] }, "pnl": { "type": [ "number", "null" ] } } }, "7d": { "type": [ "object", "null" ], "properties": { "rank": { "type": [ "number", "null" ] }, "pnl": { "type": [ "number", "null" ] } } }, "30d": { "type": [ "object", "null" ], "properties": { "rank": { "type": [ "number", "null" ] }, "pnl": { "type": [ "number", "null" ] } } }, "badge": { "type": [ "object", "null" ], "properties": { "type": { "type": [ "string", "null" ] }, "title": { "type": [ "string", "null" ] }, "text": { "type": [ "string", "null" ] }, "image": {}, "metadata": { "type": [ "object", "null" ], "properties": { "rank": { "type": [ "number", "null" ] }, "totalPnL": { "type": [ "number", "null" ] } } } } } } }, "spotlight": {} } }, "meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "required": [ "data", "meta" ] }, "example": { "data": { "profile": { "id": "df983a8b-5e5b-5e91-802f-1472e96f04c3", "address": "HXCYBexdXRrNTa3NHHJiKh5wsjb6zfW79MxQYGsszouu", "evmAddress": "0xee368a44d334ab499b25efabbc879548d7be4143", "createdAt": "2025-11-11T13:50:41.428Z", "displayName": "PoorGoat💛🐈", "userHandle": "PoorGoat_", "profilePictureLink": "https://prod-fomo-profile-pics.s3.amazonaws.com/f5eff84fd61177cfe9371f56d15dcf71.jpg?k=3000fJUBQCsikuRDXrNnPBmsg", "description": "Road to 8 Figs 💛🐈\nFind me on X @poorgoat_\nI WILL NEVER ENDORSE A POORGOAT COIN\nNever blindly follow anyone’s trades...", "following": 41, "followers": 616606, "activated": false, "verified": false, "isReferred": false, "isRestricted": false, "swapCount": 1815, "numTrades": 542, "totalVolume": 1565871.211134, "private": false, "thumbhash": "JVoODwLolqZ4d4h/l2iId5h3ifYHZ30A", "coverPhotoLink": "https://prod-fomo-profile-pics.s3.amazonaws.com/61edf29f1d74e084a99d189230d2028d.jpg?k=3000fJUBQCsikuRDXrNnPBmsg", "coverPhotoThumbhash": "zSgKGoSLiYe/l8h5e7+998o=", "twitter": null, "clan": null, "followsCurrentUser": false, "numFriendsFollowing": 0, "friendsFollowing": [], "averageHoldTimeSeconds": 340449, "badge": { "type": "top_100_badge", "title": "Top 100", "text": "Awarded to traders who have reached all-time top 100 on the leaderboard", "image": null, "metadata": { "rank": 12, "totalPnL": 1362885.5491541424 } } }, "trades": null, "balances": null, "rank": { "all": { "rank": 12, "pnl": 1362885.5491541424 }, "24h": { "rank": 584860, "pnl": -116018.13232940761 }, "7d": { "rank": 768650, "pnl": -468126.7815064979 }, "30d": { "rank": 914114, "pnl": -1779809.0559055884 }, "badge": { "type": "top_100_badge", "title": "Top 100", "text": "Awarded to traders who have reached all-time top 100 on the leaderboard", "image": null, "metadata": { "rank": 12, "totalPnL": 1362885.5491541424 } } }, "spotlight": null }, "meta": { "observedAt": 1793069277081, "ageMs": 5681, "source": "cache", "parts": { "profile": { "observedAt": 1793069277081, "source": "cache" }, "rank": { "observedAt": 1793069277142, "source": "cache" } } } } } } }, "400": { "description": "{ error, message } for a bad chain, address, handle or query; unknown_parameter (with parameter and allowed) for a query key the route does not take" }, "402": { "description": "Payment Required; x4o2-free-key extension describes free key signup and Authorization header" }, "404": { "description": "unknown_handle: no FOMO user with that handle" }, "409": { "description": "payment_in_flight: the same x402 payment is already being used by another request" }, "429": { "description": "Free key over its limit: minute_quota_exceeded, daily_quota_exceeded (resets 00:00 UTC) or free_tier_paused; honour Retry-After or pay per call; upgrade includes price, networks, payment instructions, discovery, docs and UTC daily reset. Link points to docs. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows" }, "502": { "description": "unavailable: FOMO answered with an error; retry shortly" }, "503": { "description": "busy or unavailable: temporarily out of upstream capacity; honour Retry-After or pass stale=1" } } ``` - [GET /v1/token/{chain}/{address}/candles](https://fomo.x4o2.com/v1/token/{chain}/{address}/candles): OHLCV price candles for a token from FOMO's chart data (0.001 USD via x402) Historical USD candles for one token as FOMO charts it: t (bucket start, unix ms), o, h, l, c and v (USD volume) for the 300 buckets ending at to, optionally trimmed to those at or after from. period picks the bucket size (5m, 30m, 1h, 4h, 12h). Use for price history and chart analysis. Paid: 0.001 USDC per call via x402 (Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp)). Unpaid requests receive 402 with payment requirements. Request body: ```json {} ``` Parameters: ```json [ { "name": "chain", "in": "path", "required": true, "schema": { "type": "string", "description": "solana, base, ethereum, bsc, monad, robinhood or a numeric network id" }, "description": "solana, base, ethereum, bsc, monad, robinhood or a numeric network id", "example": "solana" }, { "name": "address", "in": "path", "required": true, "schema": { "type": "string", "description": "Token mint (Solana) or contract address (EVM)" }, "description": "Token mint (Solana) or contract address (EVM)", "example": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump" }, { "name": "maxAge", "in": "query", "required": false, "schema": { "type": "integer", "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "minimum": 0 }, "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "example": "5" }, { "name": "stale", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 returns any cached copy immediately and refreshes in the background", "enum": [ 0, 1 ] }, "description": "1 returns any cached copy immediately and refreshes in the background", "example": "0" }, { "name": "period", "in": "query", "required": false, "schema": { "type": "string", "description": "Bucket size", "enum": [ "5m", "30m", "1h", "4h", "12h" ], "default": "1h" }, "description": "Bucket size", "example": "1h" }, { "name": "from", "in": "query", "required": false, "schema": { "type": "integer", "description": "Drop buckets before this time, unix ms", "minimum": 0 }, "description": "Drop buckets before this time, unix ms" }, { "name": "to", "in": "query", "required": false, "schema": { "type": "integer", "description": "Last bucket at or before this time, unix ms (default: now)", "minimum": 0 }, "description": "Last bucket at or before this time, unix ms (default: now)" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "v": { "type": [ "number", "null" ] }, "o": { "type": [ "number", "null" ] }, "h": { "type": [ "number", "null" ] }, "l": { "type": [ "number", "null" ] }, "c": { "type": [ "number", "null" ] }, "t": { "type": [ "number", "null" ] } } } }, "meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "required": [ "data", "meta" ] }, "example": { "data": [ { "v": 55147.68946741613, "o": 0.0580773539039808, "h": 0.06058080752536786, "l": 0.0580773539039808, "c": 0.06027799065051281, "t": 1791990000000 }, { "v": 29203.471266466127, "o": 0.06027799065051281, "h": 0.06045829369971369, "l": 0.05891018203267709, "c": 0.05961734683501464, "t": 1791993600000 } ], "meta": { "observedAt": 1793069282784, "ageMs": 250, "source": "fresh", "parts": { "candles": { "observedAt": 1793069282784, "source": "fresh" } } } } } } }, "400": { "description": "{ error, message } for a bad chain, address, handle or query; unknown_parameter (with parameter and allowed) for a query key the route does not take" }, "402": { "description": "Payment Required; x4o2-free-key extension describes free key signup and Authorization header" }, "404": { "description": "unknown_handle: no FOMO user with that handle" }, "409": { "description": "payment_in_flight: the same x402 payment is already being used by another request" }, "429": { "description": "Free key over its limit: minute_quota_exceeded, daily_quota_exceeded (resets 00:00 UTC) or free_tier_paused; honour Retry-After or pay per call; upgrade includes price, networks, payment instructions, discovery, docs and UTC daily reset. Link points to docs. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows" }, "502": { "description": "unavailable: FOMO answered with an error; retry shortly" }, "503": { "description": "busy or unavailable: temporarily out of upstream capacity; honour Retry-After or pass stale=1" } } ``` - [GET /v1/token/{chain}/{address}/developers](https://fomo.x4o2.com/v1/token/{chain}/{address}/developers): The token deployer's FOMO identity and holdings: how much the dev still holds or sold (0.001 USD via x402) FOMO's developer panel for a token: the deployer wallet(s) FOMO links to the token, their FOMO profile where one exists, and their current holdings and trading in it. Use as a dev-wallet and rug-risk signal. Paid: 0.001 USDC per call via x402 (Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp)). Unpaid requests receive 402 with payment requirements. Request body: ```json {} ``` Parameters: ```json [ { "name": "chain", "in": "path", "required": true, "schema": { "type": "string", "description": "solana, base, ethereum, bsc, monad, robinhood or a numeric network id" }, "description": "solana, base, ethereum, bsc, monad, robinhood or a numeric network id", "example": "solana" }, { "name": "address", "in": "path", "required": true, "schema": { "type": "string", "description": "Token mint (Solana) or contract address (EVM)" }, "description": "Token mint (Solana) or contract address (EVM)", "example": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump" }, { "name": "maxAge", "in": "query", "required": false, "schema": { "type": "integer", "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "minimum": 0 }, "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "example": "5" }, { "name": "stale", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 returns any cached copy immediately and refreshes in the background", "enum": [ 0, 1 ] }, "description": "1 returns any cached copy immediately and refreshes in the background", "example": "0" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": [ "object", "null" ], "properties": { "tokenAddress": { "type": [ "string", "null" ] }, "networkId": { "type": [ "number", "null" ] }, "devHoldings": { "type": [ "array", "null" ] } } }, "meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "required": [ "data", "meta" ] }, "example": { "data": { "tokenAddress": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump", "networkId": 1399811149, "devHoldings": [] }, "meta": { "observedAt": 1793069283056, "ageMs": 49, "source": "fresh", "parts": { "developers": { "observedAt": 1793069283056, "source": "fresh" } } } } } } }, "400": { "description": "{ error, message } for a bad chain, address, handle or query; unknown_parameter (with parameter and allowed) for a query key the route does not take" }, "402": { "description": "Payment Required; x4o2-free-key extension describes free key signup and Authorization header" }, "404": { "description": "unknown_handle: no FOMO user with that handle" }, "409": { "description": "payment_in_flight: the same x402 payment is already being used by another request" }, "429": { "description": "Free key over its limit: minute_quota_exceeded, daily_quota_exceeded (resets 00:00 UTC) or free_tier_paused; honour Retry-After or pay per call; upgrade includes price, networks, payment instructions, discovery, docs and UTC daily reset. Link points to docs. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows" }, "502": { "description": "unavailable: FOMO answered with an error; retry shortly" }, "503": { "description": "busy or unavailable: temporarily out of upstream capacity; honour Retry-After or pass stale=1" } } ``` - [GET /v1/profile/{handle}/followers](https://fomo.x4o2.com/v1/profile/{handle}/followers): Who follows a FOMO trader: handles, wallets and stats of their followers (0.001 USD via x402) The FOMO users following one trader, with each follower's handle, id, wallet addresses and profile stats. Use to gauge a trader's audience and find connected traders. Paid: 0.001 USDC per call via x402 (Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp)). Unpaid requests receive 402 with payment requirements. Request body: ```json {} ``` Parameters: ```json [ { "name": "handle", "in": "path", "required": true, "schema": { "type": "string", "description": "FOMO user handle" }, "description": "FOMO user handle", "example": "PoorGoat_" }, { "name": "maxAge", "in": "query", "required": false, "schema": { "type": "integer", "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "minimum": 0 }, "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "example": "5" }, { "name": "stale", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 returns any cached copy immediately and refreshes in the background", "enum": [ 0, 1 ] }, "description": "1 returns any cached copy immediately and refreshes in the background", "example": "0" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": [ "object", "null" ], "properties": { "users": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "id": { "type": [ "string", "null" ] }, "address": { "type": [ "string", "null" ] }, "evmAddress": { "type": [ "string", "null" ] }, "createdAt": { "type": [ "string", "null" ] }, "displayName": { "type": [ "string", "null" ] }, "userHandle": { "type": [ "string", "null" ] }, "profilePictureLink": { "type": [ "string", "null" ] }, "description": { "type": [ "string", "null" ] }, "following": { "type": [ "number", "null" ] }, "followers": { "type": [ "number", "null" ] }, "activated": { "type": [ "boolean", "null" ] }, "verified": { "type": [ "boolean", "null" ] }, "isReferred": { "type": [ "boolean", "null" ] }, "isRestricted": { "type": [ "boolean", "null" ] }, "swapCount": { "type": [ "number", "null" ] }, "numTrades": { "type": [ "number", "null" ] }, "totalVolume": { "type": [ "number", "null" ] }, "private": { "type": [ "boolean", "null" ] }, "thumbhash": { "type": [ "string", "null" ] }, "coverPhotoLink": { "type": [ "string", "null" ] }, "coverPhotoThumbhash": { "type": [ "string", "null" ] }, "twitter": {}, "pnl24h": { "type": [ "number", "null" ] } } } } } }, "meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "required": [ "data", "meta" ] }, "example": { "data": { "users": [ { "id": "540a905c-39f7-5521-b31b-0a64456e6a5b", "address": "7Brhm4jMsoam3XQJ1jY2YHe5sSDpWEwpjbP7NHQLivUa", "evmAddress": "0xbb356fb1483b8c78224e83947b032e00695a7d84", "createdAt": "2025-10-25T13:15:04.400Z", "displayName": "cake", "userHandle": "thereisnocakee", "profilePictureLink": "https://prod-fomo-profile-pics.s3.amazonaws.com/79eb049c698748217b4e13bfdf0b1b56_small.jpg?k=3000fJUBQCsikuRDXrNnPBmsg", "description": "lili student", "following": 191, "followers": 481, "activated": false, "verified": false, "isReferred": true, "isRestricted": false, "swapCount": 2141, "numTrades": 864, "totalVolume": 1206453.334692, "private": false, "thumbhash": "LggWBwDIh2ePdoZ2homYd3eHWKAHBXoA", "coverPhotoLink": "https://prod-fomo-profile-pics.s3.amazonaws.com/5ccdefd52820c6781f14adb3481d0ff9.jpg?k=3000fJUBQCsikuRDXrNnPBmsg", "coverPhotoThumbhash": "swcGEoQoICJ5undYBIJmcIg=", "twitter": null, "pnl24h": -880.9115427911747 }, { "id": "8acdfee5-d763-5a8f-8240-dcceeac72444", "address": "Hq3RhUfZgX58Aott3Xkiz9UwaE1YD21hv7m7HeNJrypy", "evmAddress": "0x298d38637ce82166859fa1bc7594d8d5ce70f2a1", "createdAt": "2026-05-24T00:30:17.308Z", "displayName": "“Bismillah”", "userHandle": "Bismillah___", "profilePictureLink": "https://prod-fomo-profile-pics.s3.amazonaws.com/d2c0168026d113c8d1a488543d3f6f03_small.jpg?k=3000fJUBQCsikuRDXrNnPBmsg", "description": "Bismillah al-Rahman al-Rahim\" means \"In the name of Allah, the Most Gracious, the Most Merciful\".", "following": 1489, "followers": 185, "activated": false, "verified": false, "isReferred": false, "isRestricted": false, "swapCount": 8215, "numTrades": 3402, "totalVolume": 867618.557757, "private": false, "thumbhash": "L0sKR4bXt5h6hniPind4p3eGiXIHWHQA", "coverPhotoLink": null, "coverPhotoThumbhash": null, "twitter": null, "pnl24h": 121.87909193628366 } ] }, "meta": { "observedAt": 1793069277081, "ageMs": 6056, "source": "cache", "parts": { "profile": { "observedAt": 1793069277081, "source": "cache" }, "followers": { "observedAt": 1793069277665, "source": "cache" } } } } } } }, "400": { "description": "{ error, message } for a bad chain, address, handle or query; unknown_parameter (with parameter and allowed) for a query key the route does not take" }, "402": { "description": "Payment Required; x4o2-free-key extension describes free key signup and Authorization header" }, "404": { "description": "unknown_handle: no FOMO user with that handle" }, "409": { "description": "payment_in_flight: the same x402 payment is already being used by another request" }, "429": { "description": "Free key over its limit: minute_quota_exceeded, daily_quota_exceeded (resets 00:00 UTC) or free_tier_paused; honour Retry-After or pay per call; upgrade includes price, networks, payment instructions, discovery, docs and UTC daily reset. Link points to docs. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows" }, "502": { "description": "unavailable: FOMO answered with an error; retry shortly" }, "503": { "description": "busy or unavailable: temporarily out of upstream capacity; honour Retry-After or pass stale=1" } } ``` - [GET /v1/profile/{handle}/following](https://fomo.x4o2.com/v1/profile/{handle}/following): Who a FOMO trader follows, page by page: handles, wallets and stats (0.001 USD via x402) The traders one FOMO user follows (their signal sources), with handle, id, wallet addresses and profile stats, one page at a time. Pass the returned nextCursor as cursor= for the next page; the list ends with an empty page (nextCursor null). Paid: 0.001 USDC per call via x402 (Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp)). Unpaid requests receive 402 with payment requirements. Request body: ```json {} ``` Parameters: ```json [ { "name": "handle", "in": "path", "required": true, "schema": { "type": "string", "description": "FOMO user handle" }, "description": "FOMO user handle", "example": "PoorGoat_" }, { "name": "maxAge", "in": "query", "required": false, "schema": { "type": "integer", "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "minimum": 0 }, "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "example": "5" }, { "name": "stale", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 returns any cached copy immediately and refreshes in the background", "enum": [ 0, 1 ] }, "description": "1 returns any cached copy immediately and refreshes in the background", "example": "0" }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string", "description": "nextCursor from the previous page" }, "description": "nextCursor from the previous page" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": [ "object", "null" ], "properties": { "users": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "id": { "type": [ "string", "null" ] }, "address": { "type": [ "string", "null" ] }, "evmAddress": { "type": [ "string", "null" ] }, "createdAt": { "type": [ "string", "null" ] }, "displayName": { "type": [ "string", "null" ] }, "userHandle": { "type": [ "string", "null" ] }, "profilePictureLink": { "type": [ "string", "null" ] }, "description": { "type": [ "string", "null" ] }, "following": { "type": [ "number", "null" ] }, "followers": { "type": [ "number", "null" ] }, "activated": { "type": [ "boolean", "null" ] }, "verified": { "type": [ "boolean", "null" ] }, "isReferred": { "type": [ "boolean", "null" ] }, "isRestricted": { "type": [ "boolean", "null" ] }, "swapCount": { "type": [ "number", "null" ] }, "numTrades": { "type": [ "number", "null" ] }, "totalVolume": { "type": [ "number", "null" ] }, "private": { "type": [ "boolean", "null" ] }, "thumbhash": { "type": [ "string", "null" ] }, "coverPhotoLink": { "type": [ "string", "null" ] }, "coverPhotoThumbhash": { "type": [ "string", "null" ] }, "twitter": {}, "pnl24h": { "type": [ "number", "null" ] }, "badge": { "type": [ "object", "null" ], "properties": { "type": { "type": [ "string", "null" ] }, "title": { "type": [ "string", "null" ] }, "text": { "type": [ "string", "null" ] }, "image": {}, "metadata": { "type": [ "object", "null" ], "properties": { "rank": { "type": [ "number", "null" ] }, "totalPnL": { "type": [ "number", "null" ] } } } } }, "clanBadge": { "type": [ "object", "null" ], "properties": { "type": { "type": [ "string", "null" ] }, "title": { "type": [ "string", "null" ] }, "text": { "type": [ "string", "null" ] }, "image": { "type": [ "string", "null" ] }, "metadata": { "type": [ "object", "null" ], "properties": { "clanId": { "type": [ "string", "null" ] }, "memberType": { "type": [ "string", "null" ] } } } } } } } }, "nextCursor": { "type": [ "string", "null" ] } } }, "meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "required": [ "data", "meta" ] }, "example": { "data": { "users": [ { "id": "66d25a69-e398-5675-8d41-f373f65c6c71", "address": "4RUmgiS7TRNC3rdMnoryUJiYNrwiRhdWSaXiST4AC6ro", "evmAddress": "0x98ae219c69efa1ec281965441c9d363e92097bbc", "createdAt": "2026-08-21T22:04:44.271Z", "displayName": "Alex | 4evertrader", "userHandle": "4evertrader_", "profilePictureLink": "https://prod-fomo-profile-pics.s3.amazonaws.com/082ea18858d054caaa25a1e271f69e9d_small.jpg?k=300gfQS2OYdk8LynpHrPw58Ww", "description": "You’ll find this account eventually.\nThe only question is what my P&L looks like by then.\nEarly narratives. High conv...", "following": 49, "followers": 5444, "activated": false, "verified": false, "isReferred": false, "isRestricted": false, "swapCount": 807, "numTrades": 308, "totalVolume": 1274108.84117, "private": false, "thumbhash": "UCkKHwKaZZd/g4dlknaIOHeFqPpHin8C", "coverPhotoLink": "https://prod-fomo-profile-pics.s3.amazonaws.com/e725843d5323bd7f46176df29dadcbcc.jpg?k=300gfQS2OYdk8LynpHrPw58Ww", "coverPhotoThumbhash": "k0oKIoJmiHePdol3h493+og=", "twitter": null, "pnl24h": -15638.087979188014, "clanBadge": { "type": "clan", "title": "TitusTradz", "text": "Awarded for being in a clan", "image": "https://prod-fomo-profile-pics.s3.amazonaws.com/54f9784255f1462d08fb4dc1be2ed954.jpg?k=300gfQS2OYdk8LynpHrPw58Ww", "metadata": { "clanId": "ac478b54-d111-4674-a283-9cb739a9ce5c", "memberType": "member" } } }, { "id": "e5b3a269-010a-511c-913a-1036fd1840b5", "address": "6F7GEcDQQRBygxJy9KumtPTC58CRMq5ThT2iFibeRrPs", "evmAddress": "0xc4db4c15b7a4005bb0bfc9d78d5688c6bf3a695b", "createdAt": "2025-04-22T00:23:40.131Z", "displayName": "rasmr", "userHandle": "rasmr", "profilePictureLink": "https://prod-fomo-profile-pics.s3.amazonaws.com/1754089790e73f9738f47664febde2d3_small.jpg?k=300gfQS2OYdk8LynpHrPw58Ww", "description": "5k to $1m challenge ✅", "following": 192, "followers": 124746, "activated": true, "verified": false, "isReferred": true, "isRestricted": false, "swapCount": 3027, "numTrades": 1908, "totalVolume": 22384434.915879, "private": false, "thumbhash": "6wcSFwT5h2h5iHh6hrZoqGeIeDBpB5IG", "coverPhotoLink": "https://prod-fomo-profile-pics.s3.amazonaws.com/d426420d67e5b7339872421b6fa8dd2d.jpg?k=300gfQS2OYdk8LynpHrPw58Ww", "coverPhotoThumbhash": "WZUFCoKriIiPd5d3j5D4O3k=", "twitter": null, "pnl24h": 7577.365013031696, "badge": { "type": "top_100_badge", "title": "Top 100", "text": "Awarded to traders who have reached all-time top 100 on the leaderboard", "image": null, "metadata": { "rank": 83, "totalPnL": 468964.6336233588 } } } ], "nextCursor": "6d9a3e82-2ec4-5557-8f70-3cb386bab7f1" }, "meta": { "observedAt": 1793069277081, "ageMs": 6135, "source": "fresh", "parts": { "profile": { "observedAt": 1793069277081, "source": "cache" }, "following": { "observedAt": 1793069283162, "source": "fresh" } } } } } } }, "400": { "description": "{ error, message } for a bad chain, address, handle or query; unknown_parameter (with parameter and allowed) for a query key the route does not take" }, "402": { "description": "Payment Required; x4o2-free-key extension describes free key signup and Authorization header" }, "404": { "description": "unknown_handle: no FOMO user with that handle" }, "409": { "description": "payment_in_flight: the same x402 payment is already being used by another request" }, "429": { "description": "Free key over its limit: minute_quota_exceeded, daily_quota_exceeded (resets 00:00 UTC) or free_tier_paused; honour Retry-After or pay per call; upgrade includes price, networks, payment instructions, discovery, docs and UTC daily reset. Link points to docs. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows" }, "502": { "description": "unavailable: FOMO answered with an error; retry shortly" }, "503": { "description": "busy or unavailable: temporarily out of upstream capacity; honour Retry-After or pass stale=1" } } ``` - [GET /v1/profiles](https://fomo.x4o2.com/v1/profiles): Up to 50 FOMO trader profiles in one call, by user id or handle, with wallets and optional leaderboard ranks (0.001 USD via x402) Many FOMO traders at once: ids= (up to 50 user ids, one upstream read) or handles= (up to 25, one read each). Each entry is the profile with Solana (address) and EVM (evmAddress) wallets; include=rank adds rank = { all, 24h, 7d, 30d } of { rank, pnl } per user (one extra read each). Unknown ids or handles go to data.notFound instead of failing the call. Use to rank or enrich traders collected from holders, followers, following or the feed: the way to ranks beyond the leaderboard's top 150. Paid: 0.001 USDC per call via x402 (Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp)). Unpaid requests receive 402 with payment requirements. Request body: ```json {} ``` Parameters: ```json [ { "name": "maxAge", "in": "query", "required": false, "schema": { "type": "integer", "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "minimum": 0 }, "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "example": "5" }, { "name": "stale", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 returns any cached copy immediately and refreshes in the background", "enum": [ 0, 1 ] }, "description": "1 returns any cached copy immediately and refreshes in the background", "example": "0" }, { "name": "ids", "in": "query", "required": false, "schema": { "type": "string", "description": "Comma-separated FOMO user ids (uuid), 1-50; exclusive with handles" }, "description": "Comma-separated FOMO user ids (uuid), 1-50; exclusive with handles" }, { "name": "handles", "in": "query", "required": false, "schema": { "type": "string", "description": "Comma-separated FOMO handles, 1-25; exclusive with ids" }, "description": "Comma-separated FOMO handles, 1-25; exclusive with ids", "example": "PoorGoat_,unipcs" }, { "name": "include", "in": "query", "required": false, "schema": { "type": "string", "description": "Comma-separated extras: rank" }, "description": "Comma-separated extras: rank", "example": "rank" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": [ "object", "null" ], "properties": { "users": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "id": { "type": [ "string", "null" ] }, "address": { "type": [ "string", "null" ] }, "evmAddress": { "type": [ "string", "null" ] }, "createdAt": { "type": [ "string", "null" ] }, "displayName": { "type": [ "string", "null" ] }, "userHandle": { "type": [ "string", "null" ] }, "profilePictureLink": { "type": [ "string", "null" ] }, "description": { "type": [ "string", "null" ] }, "following": { "type": [ "number", "null" ] }, "followers": { "type": [ "number", "null" ] }, "activated": { "type": [ "boolean", "null" ] }, "verified": { "type": [ "boolean", "null" ] }, "isReferred": { "type": [ "boolean", "null" ] }, "isRestricted": { "type": [ "boolean", "null" ] }, "swapCount": { "type": [ "number", "null" ] }, "numTrades": { "type": [ "number", "null" ] }, "totalVolume": { "type": [ "number", "null" ] }, "private": { "type": [ "boolean", "null" ] }, "thumbhash": { "type": [ "string", "null" ] }, "coverPhotoLink": { "type": [ "string", "null" ] }, "coverPhotoThumbhash": { "type": [ "string", "null" ] }, "twitter": {}, "clan": { "type": [ "object", "null" ], "properties": { "id": { "type": [ "string", "null" ] }, "name": { "type": [ "string", "null" ] }, "iconLink": { "type": [ "string", "null" ] }, "iconThumbhash": { "type": [ "string", "null" ] }, "role": { "type": [ "string", "null" ] } } }, "followsCurrentUser": { "type": [ "boolean", "null" ] }, "numFriendsFollowing": { "type": [ "number", "null" ] }, "friendsFollowing": { "type": [ "array", "null" ] }, "averageHoldTimeSeconds": { "type": [ "number", "null" ] }, "badge": { "type": [ "object", "null" ], "properties": { "type": { "type": [ "string", "null" ] }, "title": { "type": [ "string", "null" ] }, "text": { "type": [ "string", "null" ] }, "image": {}, "metadata": { "type": [ "object", "null" ], "properties": { "rank": { "type": [ "number", "null" ] }, "totalPnL": { "type": [ "number", "null" ] } } } } }, "clanBadge": { "type": [ "object", "null" ], "properties": { "type": { "type": [ "string", "null" ] }, "title": { "type": [ "string", "null" ] }, "text": { "type": [ "string", "null" ] }, "image": { "type": [ "string", "null" ] }, "metadata": { "type": [ "object", "null" ], "properties": { "clanId": { "type": [ "string", "null" ] }, "memberType": { "type": [ "string", "null" ] } } } } }, "rank": { "type": [ "object", "null" ], "properties": { "all": { "type": [ "object", "null" ], "properties": { "rank": { "type": [ "number", "null" ] }, "pnl": { "type": [ "number", "null" ] } } }, "24h": { "type": [ "object", "null" ], "properties": { "rank": { "type": [ "number", "null" ] }, "pnl": { "type": [ "number", "null" ] } } }, "7d": { "type": [ "object", "null" ], "properties": { "rank": { "type": [ "number", "null" ] }, "pnl": { "type": [ "number", "null" ] } } }, "30d": { "type": [ "object", "null" ], "properties": { "rank": { "type": [ "number", "null" ] }, "pnl": { "type": [ "number", "null" ] } } }, "badge": { "type": [ "object", "null" ], "properties": { "type": { "type": [ "string", "null" ] }, "title": { "type": [ "string", "null" ] }, "text": { "type": [ "string", "null" ] }, "image": {}, "metadata": { "type": [ "object", "null" ] } } } } } } } }, "notFound": { "type": [ "array", "null" ] } } }, "meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "required": [ "data", "meta" ] }, "example": { "data": { "users": [ { "id": "df983a8b-5e5b-5e91-802f-1472e96f04c3", "address": "HXCYBexdXRrNTa3NHHJiKh5wsjb6zfW79MxQYGsszouu", "evmAddress": "0xee368a44d334ab499b25efabbc879548d7be4143", "createdAt": "2025-11-11T13:50:41.428Z", "displayName": "PoorGoat💛🐈", "userHandle": "PoorGoat_", "profilePictureLink": "https://prod-fomo-profile-pics.s3.amazonaws.com/f5eff84fd61177cfe9371f56d15dcf71.jpg?k=3000fJUBQCsikuRDXrNnPBmsg", "description": "Road to 8 Figs 💛🐈\nFind me on X @poorgoat_\nI WILL NEVER ENDORSE A POORGOAT COIN\nNever blindly follow anyone’s trades...", "following": 41, "followers": 616606, "activated": false, "verified": false, "isReferred": false, "isRestricted": false, "swapCount": 1815, "numTrades": 542, "totalVolume": 1565871.211134, "private": false, "thumbhash": "JVoODwLolqZ4d4h/l2iId5h3ifYHZ30A", "coverPhotoLink": "https://prod-fomo-profile-pics.s3.amazonaws.com/61edf29f1d74e084a99d189230d2028d.jpg?k=3000fJUBQCsikuRDXrNnPBmsg", "coverPhotoThumbhash": "zSgKGoSLiYe/l8h5e7+998o=", "twitter": null, "clan": null, "followsCurrentUser": false, "numFriendsFollowing": 0, "friendsFollowing": [], "averageHoldTimeSeconds": 340449, "badge": { "type": "top_100_badge", "title": "Top 100", "text": "Awarded to traders who have reached all-time top 100 on the leaderboard", "image": null, "metadata": { "rank": 12, "totalPnL": 1362885.5491541424 } }, "rank": { "all": { "rank": 12, "pnl": 1362885.5491541424 }, "24h": { "rank": 584860, "pnl": -116018.13232940761 }, "7d": { "rank": 768650, "pnl": -468126.7815064979 }, "30d": { "rank": 914114, "pnl": -1779809.0559055884 }, "badge": { "type": "top_100_badge", "title": "Top 100", "text": "Awarded to traders who have reached all-time top 100 on the leaderboard", "image": null, "metadata": { "rank": 12, "totalPnL": 1362885.5491541424 } } } }, { "id": "36adb85a-c0fd-5fa8-916d-8fdc32fe4237", "address": "FJDy9FDRy6bwGEUKuAC98bUtN8MkpE2pT7Dj7HE3Z7Q1", "evmAddress": "0x2ac082e252143c89c6e3bcb972e49855f9f6711c", "createdAt": "2026-05-18T12:45:58.832Z", "displayName": "Unipcs", "userHandle": "unipcs", "profilePictureLink": "https://prod-fomo-profile-pics.s3.amazonaws.com/685a72bf4e0ab7095593e7618caa5c8e.jpg?k=3000fJUBQCsikuRDXrNnPBmsg", "description": "\"If the Lord will, we shall live, and do this, or that.\" - James 4:15", "following": 44, "followers": 812488, "activated": false, "verified": false, "isReferred": true, "isRestricted": false, "swapCount": 1255, "numTrades": 974, "totalVolume": 5381648.839373, "private": false, "thumbhash": "VzkKPwIEWoh7hXiLd5l3t3eGaHB3BoQE", "coverPhotoLink": null, "coverPhotoThumbhash": null, "twitter": null, "clan": { "id": "715a68a6-657e-4424-8c65-68ad3af899b1", "name": "Fantom Troupe", "iconLink": "https://prod-fomo-profile-pics.s3.amazonaws.com/4d5de9da1d1b7ee43ce86588ce29119a.jpg?k=3000fJUBQCsikuRDXrNnPBmsg", "iconThumbhash": "phgWJwJoh4iPd4Z0hmhneIh4l/xoB3sC", "role": "member" }, "followsCurrentUser": false, "numFriendsFollowing": 0, "friendsFollowing": [], "averageHoldTimeSeconds": 398278, "badge": { "type": "top_100_badge", "title": "Top 1", "text": "Awarded to traders who have reached all-time top 100 on the leaderboard", "image": null, "metadata": { "rank": 1, "totalPnL": 3283256.666338974 } }, "clanBadge": { "type": "clan", "title": "Fantom Troupe", "text": "Awarded for being in a clan", "image": "https://prod-fomo-profile-pics.s3.amazonaws.com/4d5de9da1d1b7ee43ce86588ce29119a.jpg?k=3000fJUBQCsikuRDXrNnPBmsg", "metadata": { "clanId": "715a68a6-657e-4424-8c65-68ad3af899b1", "memberType": "member" } }, "rank": { "all": { "rank": 1, "pnl": 3283256.666338974 }, "24h": { "rank": 584851, "pnl": -46144.68059375882 }, "7d": { "rank": 768653, "pnl": -626517.4608238791 }, "30d": { "rank": 914135, "pnl": -9609708.664335756 }, "badge": { "type": "top_100_badge", "title": "Top 1", "text": "Awarded to traders who have reached all-time top 100 on the leaderboard", "image": null, "metadata": { "rank": 1, "totalPnL": 3283256.666338974 } } } } ], "notFound": [] }, "meta": { "observedAt": 1793069277081, "ageMs": 6156, "source": "cache", "parts": { "profile": { "observedAt": 1793069277081, "source": "cache" }, "rank": { "observedAt": 1793069277142, "source": "cache" } } } } } } }, "400": { "description": "{ error, message } for a bad chain, address, handle or query; unknown_parameter (with parameter and allowed) for a query key the route does not take" }, "402": { "description": "Payment Required; x4o2-free-key extension describes free key signup and Authorization header" }, "404": { "description": "unknown_handle: no FOMO user with that handle" }, "409": { "description": "payment_in_flight: the same x402 payment is already being used by another request" }, "429": { "description": "Free key over its limit: minute_quota_exceeded, daily_quota_exceeded (resets 00:00 UTC) or free_tier_paused; honour Retry-After or pay per call; upgrade includes price, networks, payment instructions, discovery, docs and UTC daily reset. Link points to docs. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows" }, "502": { "description": "unavailable: FOMO answered with an error; retry shortly" }, "503": { "description": "busy or unavailable: temporarily out of upstream capacity; honour Retry-After or pass stale=1" } } ``` - [GET /v1/leaderboard](https://fomo.x4o2.com/v1/leaderboard): FOMO's trader P&L leaderboard for 24h, 7d, 30d or all time: the top 150 (100 all-time), no paging (0.001 USD via x402) FOMO's best traders for the period (24h, 7d, 30d or all time), best first. Each entry is the trader's profile (handle, user id, Solana and EVM wallets, picture, follower and trade counts, top holdings) plus rank and pnl for the period (also in FOMO's field pnl24h, pnl7d, pnl30d or totalPnL). This is all FOMO publishes: 150 entries per period, 100 all-time, no paging. Ranks beyond that are per user: /v1/profile/{handle}?include=rank, or 50 at a time via /v1/profiles?ids=&include=rank. Paid: 0.001 USDC per call via x402 (Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp)). Unpaid requests receive 402 with payment requirements. Request body: ```json {} ``` Parameters: ```json [ { "name": "maxAge", "in": "query", "required": false, "schema": { "type": "integer", "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "minimum": 0 }, "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "example": "5" }, { "name": "stale", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 returns any cached copy immediately and refreshes in the background", "enum": [ 0, 1 ] }, "description": "1 returns any cached copy immediately and refreshes in the background", "example": "0" }, { "name": "period", "in": "query", "required": false, "schema": { "type": "string", "description": "Leaderboard window", "enum": [ "24h", "7d", "30d", "all" ], "default": "24h" }, "description": "Leaderboard window", "example": "24h" }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "description": "Number of entries, 1-150", "minimum": 1, "maximum": 150, "default": 150 }, "description": "Number of entries, 1-150", "example": "150" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": [ "object", "null" ], "properties": { "leaderboard": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "rank": { "type": [ "number", "null" ] }, "pnl": { "type": [ "number", "null" ] }, "id": { "type": [ "string", "null" ] }, "address": { "type": [ "string", "null" ] }, "evmAddress": { "type": [ "string", "null" ] }, "createdAt": { "type": [ "string", "null" ] }, "displayName": { "type": [ "string", "null" ] }, "userHandle": { "type": [ "string", "null" ] }, "profilePictureLink": { "type": [ "string", "null" ] }, "description": { "type": [ "string", "null" ] }, "following": { "type": [ "number", "null" ] }, "followers": { "type": [ "number", "null" ] }, "activated": { "type": [ "boolean", "null" ] }, "verified": { "type": [ "boolean", "null" ] }, "isReferred": { "type": [ "boolean", "null" ] }, "isRestricted": { "type": [ "boolean", "null" ] }, "swapCount": { "type": [ "number", "null" ] }, "numTrades": { "type": [ "number", "null" ] }, "totalVolume": { "type": [ "number", "null" ] }, "private": { "type": [ "boolean", "null" ] }, "thumbhash": { "type": [ "string", "null" ] }, "coverPhotoLink": { "type": [ "string", "null" ] }, "coverPhotoThumbhash": { "type": [ "string", "null" ] }, "twitter": {}, "totalPnL": { "type": [ "number", "null" ] }, "clan": { "type": [ "object", "null" ], "properties": { "id": { "type": [ "string", "null" ] }, "name": { "type": [ "string", "null" ] }, "iconLink": { "type": [ "string", "null" ] }, "iconThumbhash": { "type": [ "string", "null" ] } } }, "totalHoldings": { "type": [ "number", "null" ] }, "topHoldings": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "imageUrl": { "type": [ "string", "null" ] }, "tokenAddress": { "type": [ "string", "null" ] }, "networkId": { "type": [ "number", "null" ] }, "pnl": { "type": [ "number", "null" ] }, "humanAmount": { "type": [ "number", "null" ] }, "price": { "type": [ "number", "null" ] }, "value": { "type": [ "number", "null" ] } } } }, "badge": { "type": [ "object", "null" ], "properties": { "type": { "type": [ "string", "null" ] }, "title": { "type": [ "string", "null" ] }, "text": { "type": [ "string", "null" ] }, "image": {}, "metadata": { "type": [ "object", "null" ], "properties": { "rank": { "type": [ "number", "null" ] }, "totalPnL": { "type": [ "number", "null" ] } } } } }, "clanBadge": { "type": [ "object", "null" ], "properties": { "type": { "type": [ "string", "null" ] }, "title": { "type": [ "string", "null" ] }, "text": { "type": [ "string", "null" ] }, "image": { "type": [ "string", "null" ] }, "metadata": { "type": [ "object", "null" ], "properties": { "clanId": { "type": [ "string", "null" ] }, "memberType": { "type": [ "string", "null" ] } } } } } } } } } }, "meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "required": [ "data", "meta" ] }, "example": { "data": { "leaderboard": [ { "rank": 1, "pnl": 3283256.666338974, "id": "36adb85a-c0fd-5fa8-916d-8fdc32fe4237", "address": "FJDy9FDRy6bwGEUKuAC98bUtN8MkpE2pT7Dj7HE3Z7Q1", "evmAddress": "0x2ac082e252143c89c6e3bcb972e49855f9f6711c", "createdAt": "2026-05-18T12:45:58.832Z", "displayName": "Unipcs", "userHandle": "unipcs", "profilePictureLink": "https://prod-fomo-profile-pics.s3.amazonaws.com/685a72bf4e0ab7095593e7618caa5c8e_small.jpg?k=3000fJUBQCsikuRDXrNnPBmsg", "description": "\"If the Lord will, we shall live, and do this, or that.\" - James 4:15", "following": 44, "followers": 812488, "activated": false, "verified": false, "isReferred": true, "isRestricted": false, "swapCount": 1255, "numTrades": 7786, "totalVolume": 5381648.839373, "private": false, "thumbhash": "VzkKPwIEWoh7hXiLd5l3t3eGaHB3BoQE", "coverPhotoLink": null, "coverPhotoThumbhash": null, "twitter": null, "totalPnL": 3283256.666338974, "clan": { "id": "715a68a6-657e-4424-8c65-68ad3af899b1", "name": "Fantom Troupe", "iconLink": "https://prod-fomo-profile-pics.s3.amazonaws.com/4d5de9da1d1b7ee43ce86588ce29119a.jpg?k=3000fJUBQCsikuRDXrNnPBmsg", "iconThumbhash": "phgWJwJoh4iPd4Z0hmhneIh4l/xoB3sC" }, "totalHoldings": 247, "topHoldings": [ { "imageUrl": "https://metadata.mobula.io/assets/logos/f03b6095dc83bde168cab16013205334941f599c7405682cced179242df940f8.png", "tokenAddress": "0x39dbed3a2bd333467115de45665cc57f813c4571", "networkId": 4663, "humanAmount": 10958918.177889977, "price": 0.23975544795342196, "value": 2627460.3368249102, "pnl": 2559347.6541244076 }, { "imageUrl": "https://metadata.mobula.io/assets/logos/c8edefd1b2944637e6fe33e25896d701ab348b54a0d53ab4303e78598e1f451f.png", "tokenAddress": "Dz9mQ9NzkBcCsuGPFJ3r1bS4wgqKMHBPiVuniW8Mbonk", "networkId": 1399811149, "humanAmount": 15831000.664067, "price": 0.15180833989693113, "value": 2403277.9297192255, "pnl": 1579074.212281427 } ], "badge": { "type": "top_100_badge", "title": "Top 1", "text": "Awarded to traders who have reached all-time top 100 on the leaderboard", "image": null, "metadata": { "rank": 1, "totalPnL": 3283256.666338974 } }, "clanBadge": { "type": "clan", "title": "Fantom Troupe", "text": "Awarded for being in a clan", "image": "https://prod-fomo-profile-pics.s3.amazonaws.com/4d5de9da1d1b7ee43ce86588ce29119a.jpg?k=3000fJUBQCsikuRDXrNnPBmsg", "metadata": { "clanId": "715a68a6-657e-4424-8c65-68ad3af899b1", "memberType": "member" } } }, { "rank": 2, "pnl": 3022038.2471753634, "id": "aefe2ddd-c580-5245-a2f5-e4ed62f7ef10", "address": "A5SEXYJY4jTEi6sjMLfZs5KAP8SVFvLDPDV67GgSSZSk", "evmAddress": "0x542b6b4cbab54a6ae6aadccd32a24e8c8b75370c", "createdAt": "2025-09-03T23:25:33.441Z", "displayName": "frank", "userHandle": "frankdegods", "profilePictureLink": "https://prod-fomo-profile-pics.s3.amazonaws.com/b099ba0c0f4f5809c7be5d65fb30b72e_small.jpg?k=3000fJUBQCsikuRDXrNnPBmsg", "description": ".", "following": 332, "followers": 384306, "activated": false, "verified": false, "isReferred": true, "isRestricted": false, "swapCount": 8944, "numTrades": 8712, "totalVolume": 70915390.700484, "private": false, "thumbhash": "1wcGH4KPg06KeYlazFeIeoeYivZIB68C", "coverPhotoLink": "https://prod-fomo-profile-pics.s3.amazonaws.com/9237b549da3b32b7102ef491fd06ca59.jpg?k=3000fJUBQCsikuRDXrNnPBmsg", "coverPhotoThumbhash": "JpUFGoLLeJdgdXmYh4BcCOc=", "twitter": null, "totalPnL": 3022038.2471753634, "clan": null, "totalHoldings": 185, "topHoldings": [ { "imageUrl": "https://image-renderer.fomo.cloud/hl/BTC/icon.png", "tokenAddress": "BTC", "networkId": 1337, "pnl": 309030.73017 }, { "imageUrl": "https://image-renderer.fomo.cloud/hl/PUMP/icon.png", "tokenAddress": "PUMP", "networkId": 1337, "pnl": 127376.082298 } ], "badge": { "type": "top_100_badge", "title": "Top 2", "text": "Awarded to traders who have reached all-time top 100 on the leaderboard", "image": null, "metadata": { "rank": 2, "totalPnL": 3022038.2471753634 } } } ] }, "meta": { "observedAt": 1793069276751, "ageMs": 6517, "source": "cache", "parts": { "leaderboard": { "observedAt": 1793069276751, "source": "cache" } } } } } } }, "400": { "description": "{ error, message } for a bad chain, address, handle or query; unknown_parameter (with parameter and allowed) for a query key the route does not take" }, "402": { "description": "Payment Required; x4o2-free-key extension describes free key signup and Authorization header" }, "404": { "description": "unknown_handle: no FOMO user with that handle" }, "409": { "description": "payment_in_flight: the same x402 payment is already being used by another request" }, "429": { "description": "Free key over its limit: minute_quota_exceeded, daily_quota_exceeded (resets 00:00 UTC) or free_tier_paused; honour Retry-After or pay per call; upgrade includes price, networks, payment instructions, discovery, docs and UTC daily reset. Link points to docs. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows" }, "502": { "description": "unavailable: FOMO answered with an error; retry shortly" }, "503": { "description": "busy or unavailable: temporarily out of upstream capacity; honour Retry-After or pass stale=1" } } ``` - [GET /v1/tokens/{list}](https://fomo.x4o2.com/v1/tokens/{list}): FOMO token lists: trending, most-held by FOMO traders, graduated, community or verified (0.001 USD via x402) One of the token lists on FOMO's discover tab, with market data per token (price, market cap, 24h volume and change, liquidity, holders, launchpad and graduation state): trending, most-held (what FOMO traders hold most), graduated (launchpad tokens that completed their curve), community or verified. Paid: 0.001 USDC per call via x402 (Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp)). Unpaid requests receive 402 with payment requirements. Request body: ```json {} ``` Parameters: ```json [ { "name": "list", "in": "path", "required": true, "schema": { "type": "string", "description": "Which list", "enum": [ "trending", "most-held", "graduated", "community", "verified" ] }, "description": "Which list", "example": "trending" }, { "name": "maxAge", "in": "query", "required": false, "schema": { "type": "integer", "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "minimum": 0 }, "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "example": "5" }, { "name": "stale", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 returns any cached copy immediately and refreshes in the background", "enum": [ 0, 1 ] }, "description": "1 returns any cached copy immediately and refreshes in the background", "example": "0" }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "description": "Number of entries, 1-100", "minimum": 1, "maximum": 100, "default": 50 }, "description": "Number of entries, 1-100", "example": "50" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "change24": { "type": [ "string", "null" ] }, "createdAt": { "type": [ "number", "null" ] }, "holders": { "type": [ "number", "null" ] }, "liquidity": { "type": [ "string", "null" ] }, "marketCap": { "type": [ "string", "null" ] }, "priceUSD": { "type": [ "string", "null" ] }, "volume24": { "type": [ "string", "null" ] }, "token": { "type": [ "object", "null" ], "properties": { "address": { "type": [ "string", "null" ] }, "decimals": { "type": [ "number", "null" ] }, "networkId": { "type": [ "number", "null" ] }, "name": { "type": [ "string", "null" ] }, "symbol": { "type": [ "string", "null" ] }, "info": { "type": [ "object", "null" ], "properties": { "circulatingSupply": {}, "id": { "type": [ "string", "null" ] }, "imageLargeUrl": { "type": [ "string", "null" ] }, "imageSmallUrl": { "type": [ "string", "null" ] }, "imageThumbUrl": { "type": [ "string", "null" ] }, "name": { "type": [ "string", "null" ] }, "symbol": { "type": [ "string", "null" ] }, "totalSupply": {} } }, "socialLinks": {}, "launchpad": { "type": [ "object", "null" ], "properties": { "launchpadName": { "type": [ "string", "null" ] }, "launchpadIconUrl": { "type": [ "string", "null" ] }, "graduationPercent": { "type": [ "number", "null" ] } } } } } } } }, "meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "required": [ "data", "meta" ] }, "example": { "data": [ { "change24": "155.37270371648648", "createdAt": 1793048464, "holders": 4491, "liquidity": "69096.37760184194", "marketCap": "688582.5832578434", "priceUSD": "0.0007045420619045227", "volume24": "3641131.5671376567", "token": { "address": "51SfaAyrYaR8FpibXT4TXtxEpnZSNoDwYVRojtKupump", "decimals": 6, "networkId": 1399811149, "name": "Backed By Belief", "symbol": "Nothing", "info": { "circulatingSupply": "977347727.680676", "id": "51SfaAyrYaR8FpibXT4TXtxEpnZSNoDwYVRojtKupump:1399811149", "imageLargeUrl": "https://metadata.mobula.io/assets/logos/solana_solana_51SfaAyrYaR8FpibXT4TXtxEpnZSNoDwYVRojtKupump.webp", "imageSmallUrl": "https://metadata.mobula.io/assets/logos/solana_solana_51SfaAyrYaR8FpibXT4TXtxEpnZSNoDwYVRojtKupump.webp", "imageThumbUrl": "https://metadata.mobula.io/assets/logos/solana_solana_51SfaAyrYaR8FpibXT4TXtxEpnZSNoDwYVRojtKupump.webp", "name": "Backed By Belief", "symbol": "Nothing", "totalSupply": "977347727.680676" }, "socialLinks": null, "launchpad": { "launchpadName": "Pump.fun", "launchpadIconUrl": "https://metadata.mobula.io/assets/logos/factory_pumpfun.webp", "graduationPercent": 0 } } }, { "change24": "-0.04745684888457631", "createdAt": 1781643949, "holders": 152150, "liquidity": "950123.4736066854", "marketCap": "65542429.108451344", "priceUSD": "0.06554242910845134", "volume24": "1709496.3792814752", "token": { "address": "9cRCn9rGT8V2imeM2BaKs13yhMEais3ruM3rPvTGpump", "decimals": 6, "networkId": 1399811149, "name": "The Black Bull", "symbol": "ANSEM", "info": { "circulatingSupply": 1000000000, "id": "9cRCn9rGT8V2imeM2BaKs13yhMEais3ruM3rPvTGpump:1399811149", "imageLargeUrl": "https://metadata.mobula.io/assets/logos/7918164b5dc7387893c2e1a637dfe5bfa9417923fcd1cd3bcde77058b954b3ae.png", "imageSmallUrl": "https://metadata.mobula.io/assets/logos/7918164b5dc7387893c2e1a637dfe5bfa9417923fcd1cd3bcde77058b954b3ae.png", "imageThumbUrl": "https://metadata.mobula.io/assets/logos/7918164b5dc7387893c2e1a637dfe5bfa9417923fcd1cd3bcde77058b954b3ae.png", "name": "The Black Bull", "symbol": "ANSEM", "totalSupply": 1000000000 }, "socialLinks": null, "launchpad": { "launchpadName": null, "launchpadIconUrl": null, "graduationPercent": 0 } } } ], "meta": { "observedAt": 1793069283288, "ageMs": 40, "source": "fresh", "parts": { "tokenList": { "observedAt": 1793069283288, "source": "fresh" } } } } } } }, "400": { "description": "{ error, message } for a bad chain, address, handle or query; unknown_parameter (with parameter and allowed) for a query key the route does not take" }, "402": { "description": "Payment Required; x4o2-free-key extension describes free key signup and Authorization header" }, "404": { "description": "unknown_handle: no FOMO user with that handle" }, "409": { "description": "payment_in_flight: the same x402 payment is already being used by another request" }, "429": { "description": "Free key over its limit: minute_quota_exceeded, daily_quota_exceeded (resets 00:00 UTC) or free_tier_paused; honour Retry-After or pay per call; upgrade includes price, networks, payment instructions, discovery, docs and UTC daily reset. Link points to docs. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows" }, "502": { "description": "unavailable: FOMO answered with an error; retry shortly" }, "503": { "description": "busy or unavailable: temporarily out of upstream capacity; honour Retry-After or pass stale=1" } } ``` - [GET /v1/search](https://fomo.x4o2.com/v1/search): Search tokens on FOMO by name, ticker or address (0.001 USD via x402) FOMO's token search across the chains it trades: matches name, symbol or address and returns each token's address, network id, metadata and market data. Use to resolve a name or ticker to a chain and address for the /v1/token routes. Paid: 0.001 USDC per call via x402 (Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp)). Unpaid requests receive 402 with payment requirements. Request body: ```json {} ``` Parameters: ```json [ { "name": "maxAge", "in": "query", "required": false, "schema": { "type": "integer", "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "minimum": 0 }, "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "example": "5" }, { "name": "stale", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 returns any cached copy immediately and refreshes in the background", "enum": [ 0, 1 ] }, "description": "1 returns any cached copy immediately and refreshes in the background", "example": "0" }, { "name": "q", "in": "query", "required": false, "schema": { "type": "string", "description": "Name, ticker or address, up to 100 characters" }, "description": "Name, ticker or address, up to 100 characters", "example": "cate" }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "description": "Number of entries, 1-100", "minimum": 1, "maximum": 100, "default": 20 }, "description": "Number of entries, 1-100", "example": "20" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "change24": { "type": [ "string", "null" ] }, "createdAt": { "type": [ "number", "null" ] }, "holders": { "type": [ "number", "null" ] }, "liquidity": { "type": [ "string", "null" ] }, "marketCap": { "type": [ "string", "null" ] }, "priceUSD": { "type": [ "string", "null" ] }, "volume24": { "type": [ "string", "null" ] }, "token": { "type": [ "object", "null" ], "properties": { "address": { "type": [ "string", "null" ] }, "decimals": { "type": [ "number", "null" ] }, "networkId": { "type": [ "number", "null" ] }, "name": { "type": [ "string", "null" ] }, "symbol": { "type": [ "string", "null" ] }, "info": { "type": [ "object", "null" ], "properties": { "circulatingSupply": { "type": [ "string", "null" ] }, "id": { "type": [ "string", "null" ] }, "imageLargeUrl": { "type": [ "string", "null" ] }, "imageSmallUrl": { "type": [ "string", "null" ] }, "imageThumbUrl": { "type": [ "string", "null" ] }, "name": { "type": [ "string", "null" ] }, "symbol": { "type": [ "string", "null" ] }, "totalSupply": { "type": [ "string", "null" ] } } }, "socialLinks": { "type": [ "object", "null" ], "properties": { "discord": {}, "telegram": { "type": [ "string", "null" ] }, "twitter": { "type": [ "string", "null" ] }, "website": { "type": [ "string", "null" ] } } }, "launchpad": { "type": [ "object", "null" ], "properties": { "launchpadName": { "type": [ "string", "null" ] }, "launchpadIconUrl": { "type": [ "string", "null" ] }, "graduationPercent": { "type": [ "number", "null" ] } } } } } } } }, "meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "required": [ "data", "meta" ] }, "example": { "data": [ { "change24": "-0.06718606218800116", "createdAt": 1785083564, "holders": 144672, "liquidity": "1330467.735606206", "marketCap": "44299891.45289496", "priceUSD": "0.04594730845954886", "volume24": "1952427.280316228", "token": { "address": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump", "decimals": 6, "networkId": 1399811149, "name": "Cate", "symbol": "CATE", "info": { "circulatingSupply": "964145516.63882", "id": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump:1399811149", "imageLargeUrl": "https://metadata.mobula.io/assets/logos/solana_solana_Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump.webp", "imageSmallUrl": "https://metadata.mobula.io/assets/logos/solana_solana_Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump.webp", "imageThumbUrl": "https://metadata.mobula.io/assets/logos/solana_solana_Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump.webp", "name": "Cate", "symbol": "CATE", "totalSupply": "964145516.63882" }, "socialLinks": { "discord": null, "telegram": "https://t.me/catecoin_telegram", "twitter": "https://x.com/i/communities/2004330768022004131", "website": "https://cate.meme/" }, "launchpad": { "launchpadName": "Pump.fun", "launchpadIconUrl": "https://metadata.mobula.io/assets/logos/factory_pumpfun.webp", "graduationPercent": 0 } } }, { "change24": "0.10586317453223529", "createdAt": 1787439044, "holders": 5087, "liquidity": "30865.87767872578", "marketCap": "282514.30412061606", "priceUSD": "0.00029156812989155034", "volume24": "5251.572512334135", "token": { "address": "DDVUsN8sDFxbaX6gNBoD44kjZhFETWJnwAn4EX1dpump", "decimals": 6, "networkId": 1399811149, "name": "Baby Catecoin", "symbol": "BABYCATE", "info": { "circulatingSupply": "968947820.962799", "id": "DDVUsN8sDFxbaX6gNBoD44kjZhFETWJnwAn4EX1dpump:1399811149", "imageLargeUrl": "https://metadata.mobula.io/assets/logos/solana_solana_DDVUsN8sDFxbaX6gNBoD44kjZhFETWJnwAn4EX1dpump.webp", "imageSmallUrl": "https://metadata.mobula.io/assets/logos/solana_solana_DDVUsN8sDFxbaX6gNBoD44kjZhFETWJnwAn4EX1dpump.webp", "imageThumbUrl": "https://metadata.mobula.io/assets/logos/solana_solana_DDVUsN8sDFxbaX6gNBoD44kjZhFETWJnwAn4EX1dpump.webp", "name": "Baby Catecoin", "symbol": "BABYCATE", "totalSupply": "968947820.962799" }, "socialLinks": { "discord": null, "telegram": "https://t.me/BABYCATEOnPump", "twitter": "https://x.com/BABYCATEOnPump", "website": "https://babycate.online/" }, "launchpad": { "launchpadName": "Pump.fun", "launchpadIconUrl": "https://metadata.mobula.io/assets/logos/factory_pumpfun.webp", "graduationPercent": 0 } } } ], "meta": { "observedAt": 1793069283352, "ageMs": 283, "source": "fresh", "parts": { "search": { "observedAt": 1793069283352, "source": "fresh" } } } } } } }, "400": { "description": "{ error, message } for a bad chain, address, handle or query; unknown_parameter (with parameter and allowed) for a query key the route does not take" }, "402": { "description": "Payment Required; x4o2-free-key extension describes free key signup and Authorization header" }, "404": { "description": "unknown_handle: no FOMO user with that handle" }, "409": { "description": "payment_in_flight: the same x402 payment is already being used by another request" }, "429": { "description": "Free key over its limit: minute_quota_exceeded, daily_quota_exceeded (resets 00:00 UTC) or free_tier_paused; honour Retry-After or pay per call; upgrade includes price, networks, payment instructions, discovery, docs and UTC daily reset. Link points to docs. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows" }, "502": { "description": "unavailable: FOMO answered with an error; retry shortly" }, "503": { "description": "busy or unavailable: temporarily out of upstream capacity; honour Retry-After or pass stale=1" } } ``` - [GET /v1/feed](https://fomo.x4o2.com/v1/feed): FOMO's social feed: large buys and sells, multi-trader buys, new listings, theses and profit milestones (0.001 USD via x402) The event feed FOMO shows its users: large buys and sells, several traders buying or selling the same token, new token listings, price since listing, new theses, trader profit milestones and smart-following signals. types= narrows it to some event types (FOMO always adds its pinned manual post); page back with cursor. Newest first, usually minutes old. Use as a stream of social trading signals and large trades by FOMO traders. Paid: 0.001 USDC per call via x402 (Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp)). Unpaid requests receive 402 with payment requirements. Request body: ```json {} ``` Parameters: ```json [ { "name": "maxAge", "in": "query", "required": false, "schema": { "type": "integer", "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "minimum": 0 }, "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "example": "5" }, { "name": "stale", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 returns any cached copy immediately and refreshes in the background", "enum": [ 0, 1 ] }, "description": "1 returns any cached copy immediately and refreshes in the background", "example": "0" }, { "name": "types", "in": "query", "required": false, "schema": { "type": "string", "description": "Comma-separated event types: large_buy, large_sell, large_transfer_in, large_transfer_out, single_user_transfer_out, single_user_sell, thesis_created, multi_user_buy, multi_user_sell, new_token_listing, price_since_listing, user_trade_profit_milestone, user_with_smart_following, manual" }, "description": "Comma-separated event types: large_buy, large_sell, large_transfer_in, large_transfer_out, single_user_transfer_out, single_user_sell, thesis_created, multi_user_buy, multi_user_sell, new_token_listing, price_since_listing, user_trade_profit_milestone, user_with_smart_following, manual", "example": "large_buy,large_sell" }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "description": "Number of entries, 1-100", "minimum": 1, "maximum": 100, "default": 50 }, "description": "Number of entries, 1-100", "example": "50" }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string", "description": "nextCursor from the previous page" }, "description": "nextCursor from the previous page" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": [ "object", "null" ], "properties": { "feed": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "id": { "type": [ "string", "null" ] }, "userId": { "type": [ "string", "null" ] }, "tradeId": { "type": [ "string", "null" ] }, "swapId": {}, "transferId": {}, "tokenAddress": { "type": [ "string", "null" ] }, "networkId": { "type": [ "number", "null" ] }, "createdAt": { "type": [ "string", "null" ] }, "body": { "type": [ "object", "null" ], "properties": { "fdv": { "type": [ "number", "null" ] }, "tag": {}, "price": { "type": [ "number", "null" ] }, "ticker": { "type": [ "string", "null" ] }, "userId": { "type": [ "string", "null" ] }, "avgCost": { "type": [ "number", "null" ] }, "numSwaps": { "type": [ "number", "null" ] }, "marketCap": { "type": [ "string", "null" ] }, "isFirstBuy": { "type": [ "boolean", "null" ] }, "percentPnl": { "type": [ "number", "null" ] }, "userHandle": { "type": [ "string", "null" ] }, "displayName": { "type": [ "string", "null" ] }, "userImageUrl": {}, "inHumanAmount": { "type": [ "number", "null" ] }, "tokenImageUrl": { "type": [ "string", "null" ] }, "currentSizeUsd": { "type": [ "number", "null" ] }, "inTokenAddress": { "type": [ "string", "null" ] }, "outHumanAmount": { "type": [ "number", "null" ] }, "realizedPnlUsd": { "type": [ "number", "null" ] }, "outTokenAddress": { "type": [ "string", "null" ] }, "humanTokenAmount": { "type": [ "number", "null" ] }, "link": {}, "title": { "type": [ "string", "null" ] }, "anchorText": {}, "description": { "type": [ "string", "null" ] } } }, "verified": { "type": [ "boolean", "null" ] }, "likes": { "type": [ "number", "null" ] }, "views": { "type": [ "number", "null" ] }, "type": { "type": [ "string", "null" ] }, "pinned": { "type": [ "boolean", "null" ] }, "twitter": {}, "reacted": { "type": [ "boolean", "null" ] } } } }, "nextCursor": { "type": [ "string", "null" ] } } }, "meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "required": [ "data", "meta" ] }, "example": { "data": { "feed": [ { "id": "6119f6e8-ac03-4c69-8934-bc27280bc3d3", "userId": null, "tradeId": null, "swapId": null, "transferId": null, "tokenAddress": null, "networkId": null, "createdAt": "2026-10-26T19:49:00.000Z", "body": { "link": null, "title": "Recap: October 25th, 2026", "anchorText": null, "description": "• As consolidation continues across the broad market and [$BTC](token://base/0xcbb7c0000ab88b473b1f5afd9ef808440eed33...", "displayName": "fomo" }, "verified": false, "likes": 16, "views": 0, "type": "manual", "pinned": true, "twitter": null, "reacted": false }, { "id": "64da5f8d-27c5-5b42-9716-e1cde0d5c82a", "userId": "94bf78e0-7500-57b1-8381-e26fa07d6e3b", "tradeId": "c104edc2-0c5b-4e5a-80b5-3c796c53dfdc", "swapId": null, "transferId": null, "tokenAddress": "nxPqZ4F7ux8Vph5NFu25rEP6Kx9Gr1U6Fmj36Rjpump", "networkId": 1399811149, "createdAt": "2026-10-27T02:46:55.000Z", "body": { "fdv": 9804490, "tag": null, "price": 0.010174493032, "ticker": "Dacity", "userId": "94bf78e0-7500-57b1-8381-e26fa07d6e3b", "avgCost": 0.0101129, "numSwaps": 2, "marketCap": "9804490", "isFirstBuy": false, "percentPnl": -1.24541, "userHandle": "ohherro", "displayName": "AHMYGAT", "userImageUrl": null, "inHumanAmount": 155633.99, "tokenImageUrl": "https://token-media.defined.fi/1399811149_nxPqZ4F7ux8Vph5NFu25rEP6Kx9Gr1U6Fmj36Rjpump_small_f8c8de71a303.png", "currentSizeUsd": 0, "inTokenAddress": "nxPqZ4F7ux8Vph5NFu25rEP6Kx9Gr1U6Fmj36Rjpump", "outHumanAmount": 1554.31, "realizedPnlUsd": -19.6016, "outTokenAddress": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", "humanTokenAmount": 0 }, "verified": false, "likes": 0, "views": 0, "type": "large_sell", "pinned": false, "twitter": null, "reacted": false } ], "nextCursor": "6ab734bf-510e-5a8f-97db-354721ddff53" }, "meta": { "observedAt": 1793069283669, "ageMs": 58, "source": "fresh", "parts": { "feed": { "observedAt": 1793069283669, "source": "fresh" } } } } } } }, "400": { "description": "{ error, message } for a bad chain, address, handle or query; unknown_parameter (with parameter and allowed) for a query key the route does not take" }, "402": { "description": "Payment Required; x4o2-free-key extension describes free key signup and Authorization header" }, "404": { "description": "unknown_handle: no FOMO user with that handle" }, "409": { "description": "payment_in_flight: the same x402 payment is already being used by another request" }, "429": { "description": "Free key over its limit: minute_quota_exceeded, daily_quota_exceeded (resets 00:00 UTC) or free_tier_paused; honour Retry-After or pay per call; upgrade includes price, networks, payment instructions, discovery, docs and UTC daily reset. Link points to docs. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows" }, "502": { "description": "unavailable: FOMO answered with an error; retry shortly" }, "503": { "description": "busy or unavailable: temporarily out of upstream capacity; honour Retry-After or pass stale=1" } } ``` ### Shared schemas ```json { "schemas": { "Meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "securitySchemes": { "apiKey": { "type": "http", "scheme": "bearer", "description": "Free API key from https://x4o2.com/keys (email login): 60 requests a minute and 1,000 a UTC day per key and service, served while the service has spare capacity, else 429 (minute_quota_exceeded, daily_quota_exceeded, free_tier_paused) with Retry-After; paid x402 requests always go through." } } } ``` --- ## pump.fun Data API > pump.fun market and social trading data: coin overview and stats, top holders with usernames and P&L, top traders, trade tape, candles, trending and live boards, search, the P&L leaderboard and trader profiles with portfolios. Every /v1 route costs one x402 micropayment. ### Documentation - [OpenAPI](https://pump.x4o2.com/openapi.json): Machine-readable route definitions - [Complete documentation](https://pump.x4o2.com/llms-full.txt): Parameters, schemas and captured examples - [API keys](https://x4o2.com/keys): Free access - [30-day pass](https://x4o2.com/pass): Higher limits ### Access and limits Free API key: https://x4o2.com/keys; Authorization: Bearer x4o2_… . Free access allows 60/minute and 1000/UTC day per service while spare capacity is available. 30-day pass: 10 USDC, 300/minute and 10000/UTC day per service, independent of free-tier pauses. POST https://x4o2.com/v1/pass with x402. Renewal extends from the later of expiry or purchase time. Wallet signing retrieves a replacement key at https://x4o2.com/pass; previous keys are revoked. Refunds are handled manually. x402: request without payment to receive a v2 PAYMENT-REQUIRED challenge; sign one accepted Base or Solana USDC option, retry with PAYMENT-SIGNATURE. PAYMENT-RESPONSE contains the settlement receipt. Failed calls are not settled. Counters reset on service restart. Pass expiry is enforced even when the key verifier is cached. Errors: 400 invalid/unknown parameters; 401 invalid or expired key; 402 payment required or verification failed; 409 payment in flight/replayed; 429 minute_quota_exceeded, daily_quota_exceeded, free_tier_paused (Retry-After); 502 upstream error; 503 busy/unavailable. RateLimit-* and X-RateLimit-* describe key quotas. ### Usage All routes are GET and cost 0.001 USDC per call via x402 on Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp); an unpaid request returns 402 with payment requirements. Identify a coin by its Solana mint address. Use GET /v1/coins/search?q= to resolve a name or ticker to a mint. Start with GET /v1/coin/{mint} for metadata, market cap, buy/sell stats, ATH and holder count. Use /holders for the largest positions with usernames and P&L, /traders for who profited most and their trades, /trades for the live tape, /candles for OHLCV. Use /v1/coins/trending, /v1/coins/feed, /v1/coins/live and /v1/coins for discovery, /v1/leaderboard for the best-performing wallets. Use GET /v1/user/{wallet} (include=portfolio,summary,balance,created,followers,following,achievements) to evaluate a trader. EVM addresses for many wallets: GET /v1/users?wallets=... (up to 100 per call) or /v1/leaderboard?include=evm; the leaderboard is the top 100 per period (daily, weekly, monthly), no paging, no all-time board, no per-wallet rank lookup. Only the documented query parameters are accepted; an unknown one is a 400 unknown_parameter, not charged. Responses are { data, meta }; meta.observedAt and meta.source tell how fresh the data is. Pass maxAge= to require fresher data or stale=1 to accept any cached copy instantly. ### Endpoints - [GET /v1/coin/{mint}](https://pump.x4o2.com/v1/coin/{mint}): pump.fun coin overview: metadata, market cap, price, volume, buy/sell stats, ATH, holder count (0.001 USD via x402) One pump.fun coin in full: its metadata and bonding-curve/AMM state (coins-v3), the live indexer row (market cap, volume, dev wallet, program, creation time), trading activity windows (5m/1h/6h/24h transactions, volume, buyers and sellers, price change), all-time-high market cap and holder count. Use for a quantitative read on a pump.fun token. Paid: 0.001 USDC per call via x402 (Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp)). Unpaid requests receive 402 with payment requirements. Request body: ```json {} ``` Parameters: ```json [ { "name": "mint", "in": "path", "required": true, "schema": { "type": "string", "description": "Token mint address (base58)" }, "description": "Token mint address (base58)", "example": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump" }, { "name": "maxAge", "in": "query", "required": false, "schema": { "type": "integer", "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "minimum": 0 }, "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "example": "5" }, { "name": "stale", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 returns any cached copy immediately and refreshes in the background", "enum": [ 0, 1 ] }, "description": "1 returns any cached copy immediately and refreshes in the background", "example": "0" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": [ "object", "null" ], "properties": { "coin": { "type": [ "object", "null" ], "properties": { "mint": { "type": [ "string", "null" ] }, "initialized": { "type": [ "boolean", "null" ] }, "name": { "type": [ "string", "null" ] }, "symbol": { "type": [ "string", "null" ] }, "image_uri": { "type": [ "string", "null" ] }, "bonding_curve": { "type": [ "string", "null" ] }, "associated_bonding_curve": { "type": [ "string", "null" ] }, "creator": { "type": [ "string", "null" ] }, "created_timestamp": { "type": [ "number", "null" ] }, "complete": { "type": [ "boolean", "null" ] }, "virtual_sol_reserves": { "type": [ "number", "null" ] }, "virtual_token_reserves": { "type": [ "number", "null" ] }, "total_supply": { "type": [ "number", "null" ] }, "show_name": { "type": [ "boolean", "null" ] }, "last_trade_timestamp": { "type": [ "number", "null" ] }, "market_cap": { "type": [ "number", "null" ] }, "nsfw": { "type": [ "boolean", "null" ] }, "inverted": { "type": [ "boolean", "null" ] }, "is_banned": { "type": [ "boolean", "null" ] }, "pump_swap_pool": { "type": [ "string", "null" ] }, "real_sol_reserves": { "type": [ "number", "null" ] }, "real_token_reserves": { "type": [ "number", "null" ] }, "updated_at": { "type": [ "number", "null" ] }, "livestream_ban_expiry": { "type": [ "number", "null" ] }, "reply_count": { "type": [ "number", "null" ] }, "is_currently_live": { "type": [ "boolean", "null" ] }, "ath_market_cap": { "type": [ "number", "null" ] }, "ath_market_cap_timestamp": { "type": [ "number", "null" ] }, "hide_banner": { "type": [ "boolean", "null" ] }, "program": { "type": [ "string", "null" ] }, "token_program": { "type": [ "string", "null" ] }, "quote_mint": { "type": [ "string", "null" ] }, "base_decimals": { "type": [ "number", "null" ] }, "quote_decimals": { "type": [ "number", "null" ] }, "pool_address": { "type": [ "string", "null" ] }, "is_cashback_enabled": { "type": [ "boolean", "null" ] }, "chain_id": { "type": [ "string", "null" ] }, "multichain_family": { "type": [ "number", "null" ] }, "protocol": { "type": [ "string", "null" ] }, "total_supply_str": { "type": [ "string", "null" ] }, "market_cap_usd": { "type": [ "number", "null" ] }, "virtual_quote_reserves": { "type": [ "number", "null" ] }, "real_quote_reserves": { "type": [ "number", "null" ] }, "market_cap_quote": { "type": [ "number", "null" ] }, "boost_mode": { "type": [ "string", "null" ] }, "verified": { "type": [ "boolean", "null" ] }, "is_holder_reward": { "type": [ "boolean", "null" ] }, "depth": { "type": [ "number", "null" ] }, "security_verdict": { "type": [ "object", "null" ], "properties": { "verdict": { "type": [ "string", "null" ] }, "scope": { "type": [ "string", "null" ] }, "reasons": { "type": [ "array", "null" ], "items": { "type": [ "string", "null" ] } }, "decided_by": { "type": [ "string", "null" ] }, "provider": { "type": [ "string", "null" ] }, "version": { "type": [ "number", "null" ] }, "updated_at": { "type": [ "number", "null" ] }, "source": { "type": [ "string", "null" ] } } }, "usd_market_cap": { "type": [ "number", "null" ] }, "volume_1h_usd": { "type": [ "number", "null" ] }, "canonical_pool_liquidity_usd": { "type": [ "number", "null" ] }, "circulating_supply_str": { "type": [ "string", "null" ] }, "source": { "type": [ "string", "null" ] }, "price_usd": { "type": [ "number", "null" ] } } }, "indexer": { "type": [ "object", "null" ], "properties": { "mint": { "type": [ "string", "null" ] }, "chain": { "type": [ "string", "null" ] }, "name": { "type": [ "string", "null" ] }, "ticker": { "type": [ "string", "null" ] }, "dev": { "type": [ "string", "null" ] }, "program": { "type": [ "string", "null" ] }, "platform": { "type": [ "string", "null" ] }, "creationTime": { "type": [ "number", "null" ] }, "pair": { "type": [ "string", "null" ] }, "marketCapUsd": { "type": [ "number", "null" ] }, "volumeSol": { "type": [ "number", "null" ] }, "volumeUsd": { "type": [ "number", "null" ] }, "progress": { "type": [ "number", "null" ] }, "graduationDate": { "type": [ "number", "null" ] }, "athMarketCapUsd": { "type": [ "number", "null" ] }, "currentMarketPrice": { "type": [ "number", "null" ] }, "sniperCount": { "type": [ "number", "null" ] }, "numKolsTraded": { "type": [ "number", "null" ] }, "txCount": { "type": [ "number", "null" ] }, "buyCount": { "type": [ "number", "null" ] }, "sellCount": { "type": [ "number", "null" ] }, "priorityFeeSol": { "type": [ "number", "null" ] }, "priorityFeeUsd": { "type": [ "number", "null" ] }, "builderTipSol": { "type": [ "number", "null" ] }, "builderTipUsd": { "type": [ "number", "null" ] }, "tradingAppFeeSol": { "type": [ "number", "null" ] }, "tradingAppFeeUsd": { "type": [ "number", "null" ] }, "builderTipSolV2": { "type": [ "number", "null" ] }, "builderTipUsdV2": { "type": [ "number", "null" ] }, "tradingAppFeeSolV2": { "type": [ "number", "null" ] }, "tradingAppFeeUsdV2": { "type": [ "number", "null" ] }, "txFeeSolV2": { "type": [ "number", "null" ] }, "txFeeUsdV2": { "type": [ "number", "null" ] }, "feeSeedSol": { "type": [ "number", "null" ] }, "feeSeedUsd": { "type": [ "number", "null" ] }, "isMayhemMode": { "type": [ "boolean", "null" ] }, "mayhemState": {}, "mayhemMode": {}, "isMultiplayer": { "type": [ "boolean", "null" ] }, "mayhemBotCoinSupplied": { "type": [ "number", "null" ] }, "isCashbackEnabled": { "type": [ "boolean", "null" ] }, "isHolderReward": { "type": [ "boolean", "null" ] }, "isCurrentlyLive": { "type": [ "boolean", "null" ] }, "numLiveParticipants": { "type": [ "number", "null" ] }, "isCharity": { "type": [ "boolean", "null" ] }, "isNsfw": { "type": [ "boolean", "null" ] }, "isBanned": { "type": [ "boolean", "null" ] }, "imageUrl": { "type": [ "string", "null" ] }, "description": { "type": [ "string", "null" ] }, "videoUri": { "type": [ "string", "null" ] }, "hasSocial": { "type": [ "boolean", "null" ] }, "hasTwitter": { "type": [ "boolean", "null" ] }, "hasWebsite": { "type": [ "boolean", "null" ] }, "hasTelegram": { "type": [ "boolean", "null" ] }, "twitterReuseCount": { "type": [ "number", "null" ] }, "telegramReuseCount": { "type": [ "number", "null" ] }, "websiteReuseCount": { "type": [ "number", "null" ] }, "numHolders": { "type": [ "number", "null" ] }, "top10HoldersPercent": { "type": [ "number", "null" ] }, "devHoldingsPercent": { "type": [ "number", "null" ] } } }, "activity": { "type": [ "object", "null" ], "properties": { "5m": { "type": [ "object", "null" ], "properties": { "numTxs": { "type": [ "number", "null" ] }, "volumeUSD": { "type": [ "number", "null" ] }, "numUsers": { "type": [ "number", "null" ] }, "numBuys": { "type": [ "number", "null" ] }, "numSells": { "type": [ "number", "null" ] }, "buyVolumeUSD": { "type": [ "number", "null" ] }, "sellVolumeUSD": { "type": [ "number", "null" ] }, "numBuyers": { "type": [ "number", "null" ] }, "numSellers": { "type": [ "number", "null" ] }, "priceChangePercent": { "type": [ "number", "null" ] } } }, "1h": { "type": [ "object", "null" ], "properties": { "numTxs": { "type": [ "number", "null" ] }, "volumeUSD": { "type": [ "number", "null" ] }, "numUsers": { "type": [ "number", "null" ] }, "numBuys": { "type": [ "number", "null" ] }, "numSells": { "type": [ "number", "null" ] }, "buyVolumeUSD": { "type": [ "number", "null" ] }, "sellVolumeUSD": { "type": [ "number", "null" ] }, "numBuyers": { "type": [ "number", "null" ] }, "numSellers": { "type": [ "number", "null" ] }, "priceChangePercent": { "type": [ "number", "null" ] } } }, "6h": { "type": [ "object", "null" ], "properties": { "numTxs": { "type": [ "number", "null" ] }, "volumeUSD": { "type": [ "number", "null" ] }, "numUsers": { "type": [ "number", "null" ] }, "numBuys": { "type": [ "number", "null" ] }, "numSells": { "type": [ "number", "null" ] }, "buyVolumeUSD": { "type": [ "number", "null" ] }, "sellVolumeUSD": { "type": [ "number", "null" ] }, "numBuyers": { "type": [ "number", "null" ] }, "numSellers": { "type": [ "number", "null" ] }, "priceChangePercent": { "type": [ "number", "null" ] } } }, "24h": { "type": [ "object", "null" ], "properties": { "numTxs": { "type": [ "number", "null" ] }, "volumeUSD": { "type": [ "number", "null" ] }, "numUsers": { "type": [ "number", "null" ] }, "numBuys": { "type": [ "number", "null" ] }, "numSells": { "type": [ "number", "null" ] }, "buyVolumeUSD": { "type": [ "number", "null" ] }, "sellVolumeUSD": { "type": [ "number", "null" ] }, "numBuyers": { "type": [ "number", "null" ] }, "numSellers": { "type": [ "number", "null" ] }, "priceChangePercent": { "type": [ "number", "null" ] } } } } }, "ath": { "type": [ "object", "null" ], "properties": { "athMarketCap": { "type": [ "number", "null" ] } } }, "holders": { "type": [ "object", "null" ], "properties": { "mint": { "type": [ "string", "null" ] }, "chain": { "type": [ "string", "null" ] }, "networkId": { "type": [ "number", "null" ] }, "holderCount": { "type": [ "number", "null" ] } } } } }, "meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "required": [ "data", "meta" ] }, "example": { "data": { "coin": { "mint": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump", "initialized": true, "name": "Catecoin", "symbol": "CATE", "image_uri": "https://imagedelivery.net/WL1JOIJiM_NAChp6rtB6Cw/coin-image/Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump", "bonding_curve": "3Sg92V4Mre9Apm7dJsM39B6vrAEVVErE1vBsZMKyUbxT", "associated_bonding_curve": "3jNo7eYYhLFrRXSpYEevBCYj8uJioA95sH1MujyB1GJk", "creator": "D9gQ6RhKEpnobPBUdWY5bPQt2p3zGk3iVz6ChpUi2ArA", "created_timestamp": 1785083078000, "complete": true, "virtual_sol_reserves": 114147489352, "virtual_token_reserves": 282003577203745, "total_supply": 1000000000000000, "show_name": true, "last_trade_timestamp": 1793068389000, "market_cap": 458272.57799251605, "nsfw": false, "inverted": true, "is_banned": false, "pump_swap_pool": "HMzvsEEmtzHhvZNw9uwbaG85HCTmFnkbhzUx16cy7ca3", "real_sol_reserves": 0, "real_token_reserves": 0, "updated_at": 1793068390, "livestream_ban_expiry": 0, "reply_count": 0, "is_currently_live": false, "ath_market_cap": 130574324.57841259, "ath_market_cap_timestamp": 1789849765000, "hide_banner": false, "program": "pump", "token_program": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb", "quote_mint": "11111111111111111111111111111111", "base_decimals": 6, "quote_decimals": 9, "pool_address": "HMzvsEEmtzHhvZNw9uwbaG85HCTmFnkbhzUx16cy7ca3", "is_cashback_enabled": false, "chain_id": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp", "multichain_family": 1, "protocol": "pump", "total_supply_str": "1000000000000000", "market_cap_usd": 45980001.173868276, "virtual_quote_reserves": 114147489352, "real_quote_reserves": 0, "market_cap_quote": 458272.577992516, "boost_mode": "COMPLETED", "verified": true, "is_holder_reward": true, "depth": 0, "security_verdict": { "verdict": "allow", "scope": "all", "reasons": [ "operator_bypass" ], "decided_by": "bypass", "provider": "none", "version": 32, "updated_at": 1792979855356, "source": "token-trust" }, "usd_market_cap": 45980001.173868276, "volume_1h_usd": 20877.489175924282, "canonical_pool_liquidity_usd": 2412226.2185210525, "circulating_supply_str": "1000000000000000", "source": "indexed", "price_usd": 0.04598000117386827 }, "indexer": { "mint": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump", "chain": "solana:mainnet", "name": "Catecoin", "ticker": "CATE", "dev": "D9gQ6RhKEpnobPBUdWY5bPQt2p3zGk3iVz6ChpUi2ArA", "program": "pump_amm", "platform": "", "creationTime": 1785083078000, "pair": "SOL", "marketCapUsd": 45977619.03084679, "volumeSol": 2272550.49483257, "volumeUsd": 242173323.19418263, "progress": 100, "graduationDate": 1787625930000, "athMarketCapUsd": 130574324.57841259, "currentMarketPrice": 0, "sniperCount": 0, "numKolsTraded": 214, "txCount": 1623706, "buyCount": 1085010, "sellCount": 538696, "priorityFeeSol": 416.71786447590586, "priorityFeeUsd": 44158.48158163223, "builderTipSol": 0, "builderTipUsd": 0, "tradingAppFeeSol": 0, "tradingAppFeeUsd": 0, "builderTipSolV2": 257.2870349345208, "builderTipUsdV2": 27524.420016355867, "tradingAppFeeSolV2": 2577.4123927381847, "tradingAppFeeUsdV2": 273480.0940425271, "txFeeSolV2": 459.8607626011525, "txFeeUsdV2": 48858.59597202167, "feeSeedSol": 0, "feeSeedUsd": 0, "isMayhemMode": false, "mayhemState": null, "mayhemMode": null, "isMultiplayer": false, "mayhemBotCoinSupplied": 0, "isCashbackEnabled": false, "isHolderReward": true, "isCurrentlyLive": false, "numLiveParticipants": 0, "isCharity": false, "isNsfw": false, "isBanned": true, "imageUrl": "https://images.pump.fun/coin-image/Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump", "description": "", "videoUri": "", "hasSocial": false, "hasTwitter": false, "hasWebsite": false, "hasTelegram": false, "twitterReuseCount": 0, "telegramReuseCount": 0, "websiteReuseCount": 0, "numHolders": 17709, "top10HoldersPercent": 14.5945, "devHoldingsPercent": 0, "snipersOwnedPercent": 0, "bundlerOwnedPercentageV2": 0, "coinCreatedSupply": 0, "lastRecommendedAt": 1793068387351, "totalFees": 3294.560190273858, "totalFeesUSD": 349863.11003090465 }, "activity": { "5m": { "numTxs": 9, "volumeUSD": 84.06403327871658, "numUsers": 9, "numBuys": 6, "numSells": 3, "buyVolumeUSD": 26.660152893851066, "sellVolumeUSD": 57.40388038486551, "numBuyers": 6, "numSellers": 3, "priceChangePercent": -0.010108381359660162 }, "1h": { "numTxs": 131, "volumeUSD": 20871.348758899097, "numUsers": 103, "numBuys": 59, "numSells": 72, "buyVolumeUSD": 13818.933638759267, "sellVolumeUSD": 7052.415120139831, "numBuyers": 42, "numSellers": 67, "priceChangePercent": 1.006129171775132 }, "6h": { "numTxs": 1523, "volumeUSD": 223698.596219801, "numUsers": 866, "numBuys": 894, "numSells": 629, "buyVolumeUSD": 110796.16166075492, "sellVolumeUSD": 112902.43455904609, "numBuyers": 535, "numSellers": 484, "priceChangePercent": -0.28185820942932915 }, "24h": { "numTxs": 10648, "volumeUSD": 1348377.060417696, "numUsers": 4058, "numBuys": 5642, "numSells": 5006, "buyVolumeUSD": 653888.1016047072, "sellVolumeUSD": 694488.9588129888, "numBuyers": 2775, "numSellers": 2951, "priceChangePercent": -6.755887651488777 } }, "ath": { "athMarketCap": 130574324.57841259 }, "holders": { "mint": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump", "chain": "solana", "networkId": 1399811149, "holderCount": 143692 } }, "meta": { "observedAt": 1793068417434, "ageMs": 89, "source": "fresh", "parts": { "coin": { "observedAt": 1793068417434, "source": "fresh" }, "indexer": { "observedAt": 1793068417434, "source": "fresh" }, "marketActivity": { "observedAt": 1793068417434, "source": "fresh" }, "ath": { "observedAt": 1793068417434, "source": "fresh" }, "holderCount": { "observedAt": 1793068417434, "source": "fresh" } } } } } } }, "400": { "description": "Invalid mint, user or query: { error, message } with error such as invalid_mint, invalid_period, invalid_wallets, rejected (pump.fun refused the parameters) or unknown_parameter (a query key this route does not accept; parameter and allowed name it)" }, "402": { "description": "Payment Required; x4o2-free-key extension describes free key signup and Authorization header" }, "409": { "description": "payment_in_flight: this payment is already being used by another request" }, "429": { "description": "Free key over its limit: minute_quota_exceeded, daily_quota_exceeded (resets 00:00 UTC) or free_tier_paused; honour Retry-After or pay per call; upgrade includes price, networks, payment instructions, discovery, docs and UTC daily reset. Link points to docs. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows" }, "502": { "description": "unavailable: pump.fun answered with an error; retry shortly" }, "503": { "description": "busy or unavailable: temporarily out of upstream capacity; honour Retry-After or pass stale=1" } } ``` - [GET /v1/coin/{mint}/holders](https://pump.x4o2.com/v1/coin/{mint}/holders): Top holders of a pump.fun coin with username, position size, cost basis and P&L (0.001 USD via x402) The largest positions in a coin as pump.fun tracks them: each holder's wallet, pump.fun username and profile, amount held, position value, cost basis, realized and unrealized P&L and whether they are the developer. Use for holder concentration and smart-money analysis of a token. Paid: 0.001 USDC per call via x402 (Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp)). Unpaid requests receive 402 with payment requirements. Request body: ```json {} ``` Parameters: ```json [ { "name": "mint", "in": "path", "required": true, "schema": { "type": "string", "description": "Token mint address (base58)" }, "description": "Token mint address (base58)", "example": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump" }, { "name": "maxAge", "in": "query", "required": false, "schema": { "type": "integer", "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "minimum": 0 }, "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "example": "5" }, { "name": "stale", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 returns any cached copy immediately and refreshes in the background", "enum": [ 0, 1 ] }, "description": "1 returns any cached copy immediately and refreshes in the background", "example": "0" }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "description": "Number of entries, 1-100", "minimum": 1, "maximum": 100, "default": 50 }, "description": "Number of entries, 1-100", "example": "50" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": [ "object", "null" ], "properties": { "positions": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "coinMint": { "type": [ "string", "null" ] }, "chainId": { "type": [ "number", "null" ] }, "userId": { "type": [ "string", "null" ] }, "userName": { "type": [ "string", "null" ] }, "profileImage": { "type": [ "string", "null" ] }, "walletAddress": { "type": [ "string", "null" ] }, "isVerified": { "type": [ "boolean", "null" ] }, "verifiedBadgeVisible": { "type": [ "boolean", "null" ] }, "resolvedAvatarDecoration": { "type": [ "string", "null" ] }, "xUsername": { "type": [ "string", "null" ] }, "accountKind": { "type": [ "string", "null" ] }, "amountHeld": { "type": [ "number", "null" ] }, "pnlUsd": { "type": [ "number", "null" ] }, "pnlPercentage": { "type": [ "number", "null" ] }, "realizedPnlUsd": { "type": [ "number", "null" ] }, "costBasisAmount": { "type": [ "number", "null" ] }, "costBasisUsd": { "type": [ "number", "null" ] }, "amountBoughtUsd": { "type": [ "number", "null" ] }, "amountBought": { "type": [ "number", "null" ] }, "callout": { "type": [ "object", "null" ], "properties": { "calloutId": { "type": [ "string", "null" ] }, "chain": {}, "assetClass": { "type": [ "string", "null" ] }, "perp": {}, "calledOutAtMcap": { "type": [ "number", "null" ] }, "multiple": { "type": [ "number", "null" ] }, "thesis": { "type": [ "string", "null" ] }, "mediaUrl": {}, "calloutTimestamp": { "type": [ "string", "null" ] }, "likes": { "type": [ "number", "null" ] }, "hasLiked": {}, "updates": { "type": [ "array", "null" ] }, "updateCount": { "type": [ "number", "null" ] }, "commentCount": { "type": [ "number", "null" ] }, "replyCount": { "type": [ "number", "null" ] }, "maxMultiplier": { "type": [ "number", "null" ] }, "maxMultiplierAt": { "type": [ "string", "null" ] }, "calloutPrice": { "type": [ "number", "null" ] }, "repostCount": { "type": [ "number", "null" ] }, "quoteCount": { "type": [ "number", "null" ] }, "hasReposted": {}, "viewCount": { "type": [ "number", "null" ] }, "quotedCalloutId": {}, "quotedCallout": {}, "actingUserId": {}, "actingUser": {} } }, "lowQuality": { "type": [ "boolean", "null" ] } } } }, "totalCount": { "type": [ "number", "null" ] }, "hasMore": { "type": [ "boolean", "null" ] } } }, "meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "required": [ "data", "meta" ] }, "example": { "data": { "positions": [ { "coinMint": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump", "chainId": 1399811149, "userId": "aa653097-46b7-40f7-bc93-3b84d8787853", "userName": "latentfish83215", "profileImage": "https://socialimages.pump.fun/profile-images/aa653097-46b7-40f7-bc93-3b84d8787853/65d97c92-ae42-4f4b-99db-e15b5259e0dd", "walletAddress": "HDixbrzwwLXczhDBk1JVrurPQsuLE8FUKnW2pucSXN3o", "isVerified": false, "verifiedBadgeVisible": true, "resolvedAvatarDecoration": null, "xUsername": null, "accountKind": "person", "amountHeld": 27556090.807485, "pnlUsd": 1147871.471116057, "pnlPercentage": 821.878114296513, "realizedPnlUsd": 9286.993489819346, "costBasisAmount": 27556090.807485003, "costBasisUsd": 128378.96749972746, "amountBoughtUsd": 139664.44064501926, "amountBought": 33240544.88591601, "callout": { "calloutId": "8368348b-17eb-4c7b-8fc5-dd4272222480", "chain": null, "assetClass": "ASSET_CLASS_TOKEN", "perp": null, "calledOutAtMcap": 44241137, "multiple": 1.001988700470244, "thesis": "LET THE GAMES BEGIN. CATE BOTTOM IN AND THE CATEVENGERS BOUTA WIN.", "mediaUrl": null, "calloutTimestamp": "2026-10-26T14:17:29.812Z", "likes": 13, "hasLiked": null, "updates": [], "updateCount": 0, "commentCount": 0, "replyCount": 0, "maxMultiplier": 1.0636944016247694, "maxMultiplierAt": "2026-10-26T15:27:31.979Z", "calloutPrice": 0.0458863647956, "repostCount": 2, "quoteCount": 0, "hasReposted": null, "viewCount": 11331, "quotedCalloutId": null, "quotedCallout": null, "actingUserId": null, "actingUser": null }, "lowQuality": false }, { "coinMint": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump", "chainId": 1399811149, "userId": "f779e161-0f93-49ec-b763-2142854fd005", "userName": "SossaDotKek", "profileImage": "https://socialimages.pump.fun/profile-images/2M2vLX34LXMg24dMEnjWHvRXS1tshpEDRWzmXgV8ENNZ/1483b61e-df0d-4b93-a3d4-161...", "walletAddress": "2M2vLX34LXMg24dMEnjWHvRXS1tshpEDRWzmXgV8ENNZ", "isVerified": true, "verifiedBadgeVisible": false, "resolvedAvatarDecoration": "epic", "xUsername": "GeoffO7", "accountKind": "person", "amountHeld": 20730476.396162, "pnlUsd": 466794.9566433995, "pnlPercentage": 95.98060767671657, "realizedPnlUsd": 0, "costBasisAmount": 20730476.39611597, "costBasisUsd": 486342.9894251824, "amountBoughtUsd": 356240.85633483774, "amountBought": 14413072.671784988, "callout": { "calloutId": "c80441e0-f76e-4bc6-8672-8419a9383529", "chain": null, "assetClass": "ASSET_CLASS_TOKEN", "perp": null, "calledOutAtMcap": 27728837, "multiple": 1.5990467289586163, "thesis": "I'm back 100x the Cate", "mediaUrl": null, "calloutTimestamp": "2026-08-04T03:30:32.325Z", "likes": 607, "hasLiked": null, "updates": [ { "id": "fc033446-8e19-4ed3-a342-7ff7e03ab8ac", "content": "Join the tiktok live for a hot chip challenge by pickle and tristin, Cate community locking in \n\nhttps://vt.tiktok.co...", "createdAt": "2026-10-24T17:49:17.599Z", "likeCount": 9, "mediaUrl": null, "parentMessageId": null, "repostCount": 0, "viewCount": 2393 }, { "id": "56c30e12-5cf1-472c-8fea-1c66adf0603c", "content": "Cate baddies space join up \n\nhttps://x.com/i/spaces/1mxPaZyLXvVKN", "createdAt": "2026-10-24T16:17:36.218Z", "likeCount": 1, "mediaUrl": null, "parentMessageId": null, "repostCount": 0, "viewCount": 352 } ], "updateCount": 127, "commentCount": 84, "replyCount": 211, "maxMultiplier": 4.541219206305773, "maxMultiplierAt": "2026-09-19T20:29:33.664Z", "calloutPrice": 0.0287531428558, "repostCount": 30, "quoteCount": 0, "hasReposted": null, "viewCount": 583986, "quotedCalloutId": null, "quotedCallout": null, "actingUserId": null, "actingUser": null }, "lowQuality": false } ], "totalCount": 6278, "hasMore": true }, "meta": { "observedAt": 1793068417524, "ageMs": 131, "source": "fresh", "parts": { "positions": { "observedAt": 1793068417524, "source": "fresh" } } } } } } }, "400": { "description": "Invalid mint, user or query: { error, message } with error such as invalid_mint, invalid_period, invalid_wallets, rejected (pump.fun refused the parameters) or unknown_parameter (a query key this route does not accept; parameter and allowed name it)" }, "402": { "description": "Payment Required; x4o2-free-key extension describes free key signup and Authorization header" }, "409": { "description": "payment_in_flight: this payment is already being used by another request" }, "429": { "description": "Free key over its limit: minute_quota_exceeded, daily_quota_exceeded (resets 00:00 UTC) or free_tier_paused; honour Retry-After or pay per call; upgrade includes price, networks, payment instructions, discovery, docs and UTC daily reset. Link points to docs. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows" }, "502": { "description": "unavailable: pump.fun answered with an error; retry shortly" }, "503": { "description": "busy or unavailable: temporarily out of upstream capacity; honour Retry-After or pass stale=1" } } ``` - [GET /v1/coin/{mint}/traders](https://pump.x4o2.com/v1/coin/{mint}/traders): Top traders of a pump.fun coin by P&L, each with their trade history on it (0.001 USD via x402) pump.fun's top-trader leaderboard for one coin: the wallets and usernames with the highest profit on it, their realized and unrealized P&L, buy and sell totals, and the individual trades behind the number. Use to find who made money on a token and how. Paid: 0.001 USDC per call via x402 (Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp)). Unpaid requests receive 402 with payment requirements. Request body: ```json {} ``` Parameters: ```json [ { "name": "mint", "in": "path", "required": true, "schema": { "type": "string", "description": "Token mint address (base58)" }, "description": "Token mint address (base58)", "example": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump" }, { "name": "maxAge", "in": "query", "required": false, "schema": { "type": "integer", "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "minimum": 0 }, "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "example": "5" }, { "name": "stale", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 returns any cached copy immediately and refreshes in the background", "enum": [ 0, 1 ] }, "description": "1 returns any cached copy immediately and refreshes in the background", "example": "0" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": [ "object", "null" ], "properties": { "mint": { "type": [ "string", "null" ] }, "traders": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "userId": { "type": [ "string", "null" ] }, "walletAddress": { "type": [ "string", "null" ] }, "username": { "type": [ "string", "null" ] }, "profileImage": { "type": [ "string", "null" ] }, "isVerified": { "type": [ "boolean", "null" ] }, "verifiedBadgeVisible": { "type": [ "boolean", "null" ] }, "resolvedAvatarDecoration": { "type": [ "string", "null" ] }, "bestRank": { "type": [ "number", "null" ] }, "periods": { "type": [ "array", "null" ], "items": { "type": [ "string", "null" ] } }, "tradingWallets": { "type": [ "array", "null" ], "items": { "type": [ "string", "null" ] } }, "tradeCount": { "type": [ "number", "null" ] } } } }, "trades": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "tx": { "type": [ "string", "null" ] }, "isBuy": { "type": [ "boolean", "null" ] }, "timestamp": { "type": [ "string", "null" ] }, "amountUsd": { "type": [ "number", "null" ] }, "baseAmount": { "type": [ "number", "null" ] }, "priceUsd": { "type": [ "number", "null" ] }, "mint": { "type": [ "string", "null" ] }, "chainId": { "type": [ "number", "null" ] }, "walletAddress": { "type": [ "string", "null" ] }, "userId": { "type": [ "string", "null" ] }, "slotIndexId": { "type": [ "string", "null" ] }, "amountSol": { "type": [ "number", "null" ] } } } }, "boardsBuiltAtMs": { "type": [ "number", "null" ] }, "generatedAtMs": { "type": [ "number", "null" ] }, "page": { "type": [ "object", "null" ], "properties": { "nextCursor": {}, "to": {}, "limit": { "type": [ "number", "null" ] } } } } }, "meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "required": [ "data", "meta" ] }, "example": { "data": { "mint": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump", "traders": [ { "userId": "33b4317c-3a2f-4027-be28-34fe8db86494", "walletAddress": "9BMzTpSo4URse1oN666pmexhdjpU1vA5p7LtroCFQdLU", "username": "Aurelius", "profileImage": "https://socialimages.pump.fun/profile-images/33b4317c-3a2f-4027-be28-34fe8db86494/29feff3b-484e-4c04-b279-077efb6cabc9", "isVerified": true, "verifiedBadgeVisible": false, "resolvedAvatarDecoration": "achievement:first-place", "bestRank": 1, "periods": [ "daily", "weekly" ], "tradingWallets": [ "9BMzTpSo4URse1oN666pmexhdjpU1vA5p7LtroCFQdLU" ], "tradeCount": 99 }, { "userId": "5e5004b9-cc17-44ea-b6f8-1413b2539281", "walletAddress": "EqE7raLmEHPQQUmjiiUgSM6nbbgtRGaHf7CKg56BzXFK", "username": "insidecalls", "profileImage": "https://socialimages.pump.fun/profile-images/EqE7raLmEHPQQUmjiiUgSM6nbbgtRGaHf7CKg56BzXFK/5465a392-f461-42aa-8f36-ee8...", "isVerified": true, "verifiedBadgeVisible": false, "resolvedAvatarDecoration": null, "bestRank": 6, "periods": [ "daily" ], "tradingWallets": [ "EqE7raLmEHPQQUmjiiUgSM6nbbgtRGaHf7CKg56BzXFK" ], "tradeCount": 2 } ], "trades": [ { "tx": "4e2ymAQu8V4WL9QZ1FazvKhzfeSKd7FBpoqMwSBDb7HZfPoohVYmSPjGopvD4rgVuM7L7BvWwtjFchLhQwd8XTMu", "isBuy": false, "timestamp": "2026-10-26T15:52:19.000Z", "amountUsd": 9808.635289, "baseAmount": 207685.914646, "priceUsd": 0.04722821625009471, "mint": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump", "chainId": 1399811149, "walletAddress": "Hzvs4kQ3pSeVpPqFgiQLfgKS4tpTDyk3GmKT1k8BQPBm", "userId": "735a41c3-27e3-4f17-a3ac-e7f9b1281916", "slotIndexId": "00046172159500017100000201", "amountSol": 96.22672165058516 }, { "tx": "jXRJun5uqTgcrnWHVHxQYev2PgXUHpiSszpPXfU2GmZvAQvAoE7155U5AQgSo2kSzZW4svuuAkGKAoKLJcVVshm", "isBuy": false, "timestamp": "2026-10-26T15:35:26.000Z", "amountUsd": 3986.381573, "baseAmount": 83187.620365, "priceUsd": 0.04792037030881596, "mint": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump", "chainId": 1399811149, "walletAddress": "Hzvs4kQ3pSeVpPqFgiQLfgKS4tpTDyk3GmKT1k8BQPBm", "userId": "735a41c3-27e3-4f17-a3ac-e7f9b1281916", "slotIndexId": "00046171681000011400000201", "amountSol": 39.013400903740234 } ], "boardsBuiltAtMs": 1793068403030, "generatedAtMs": 1793068417699, "page": { "nextCursor": null, "to": null, "limit": 500 } }, "meta": { "observedAt": 1793068417657, "ageMs": 81, "source": "fresh", "parts": { "topTraders": { "observedAt": 1793068417657, "source": "fresh" } } } } } } }, "400": { "description": "Invalid mint, user or query: { error, message } with error such as invalid_mint, invalid_period, invalid_wallets, rejected (pump.fun refused the parameters) or unknown_parameter (a query key this route does not accept; parameter and allowed name it)" }, "402": { "description": "Payment Required; x4o2-free-key extension describes free key signup and Authorization header" }, "409": { "description": "payment_in_flight: this payment is already being used by another request" }, "429": { "description": "Free key over its limit: minute_quota_exceeded, daily_quota_exceeded (resets 00:00 UTC) or free_tier_paused; honour Retry-After or pay per call; upgrade includes price, networks, payment instructions, discovery, docs and UTC daily reset. Link points to docs. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows" }, "502": { "description": "unavailable: pump.fun answered with an error; retry shortly" }, "503": { "description": "busy or unavailable: temporarily out of upstream capacity; honour Retry-After or pass stale=1" } } ``` - [GET /v1/coin/{mint}/trades](https://pump.x4o2.com/v1/coin/{mint}/trades): Recent trades on a pump.fun coin: buyer/seller, SOL and USD size, price, signature (0.001 USD via x402) The coin's trade tape as pump.fun shows it: the most recent buys and sells with wallet (and username where known), token and SOL amounts, USD value, price and market cap at the time, slot and transaction signature. minUsd filters out dust. Use to see current flow in a token. Paid: 0.001 USDC per call via x402 (Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp)). Unpaid requests receive 402 with payment requirements. Request body: ```json {} ``` Parameters: ```json [ { "name": "mint", "in": "path", "required": true, "schema": { "type": "string", "description": "Token mint address (base58)" }, "description": "Token mint address (base58)", "example": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump" }, { "name": "maxAge", "in": "query", "required": false, "schema": { "type": "integer", "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "minimum": 0 }, "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "example": "5" }, { "name": "stale", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 returns any cached copy immediately and refreshes in the background", "enum": [ 0, 1 ] }, "description": "1 returns any cached copy immediately and refreshes in the background", "example": "0" }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "description": "Number of entries, 1-200", "minimum": 1, "maximum": 200, "default": 100 }, "description": "Number of entries, 1-200", "example": "100" }, { "name": "minUsd", "in": "query", "required": false, "schema": { "type": "number", "description": "Minimum USD size of trades to include", "minimum": 0 }, "description": "Minimum USD size of trades to include", "example": "1" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": [ "object", "null" ], "properties": { "trades": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "ordinalKey": { "type": [ "string", "null" ] }, "blockId": { "type": [ "string", "null" ] }, "txIndex": { "type": [ "number", "null" ] }, "eventIndex": { "type": [ "number", "null" ] }, "blockTimeMs": { "type": [ "number", "null" ] }, "txId": { "type": [ "string", "null" ] }, "legIndex": { "type": [ "number", "null" ] }, "late": { "type": [ "boolean", "null" ] }, "isBackfill": { "type": [ "boolean", "null" ] }, "side": { "type": [ "string", "null" ] }, "kind": { "type": [ "string", "null" ] }, "venue": { "type": [ "string", "null" ] }, "pool": { "type": [ "object", "null" ], "properties": { "chainId": { "type": [ "string", "null" ] }, "address": { "type": [ "string", "null" ] } } }, "trader": { "type": [ "object", "null" ], "properties": { "address": { "type": [ "string", "null" ] } } }, "baseAmount": { "type": [ "object", "null" ], "properties": { "raw": { "type": [ "string", "null" ] }, "decimals": { "type": [ "number", "null" ] } } }, "quoteAmount": { "type": [ "object", "null" ], "properties": { "raw": { "type": [ "string", "null" ] }, "decimals": { "type": [ "number", "null" ] } } }, "quote": { "type": [ "object", "null" ], "properties": { "id": { "type": [ "string", "null" ] } } }, "priceUsd": { "type": [ "string", "null" ] }, "priceQuote": { "type": [ "string", "null" ] }, "quotePriceUsd": { "type": [ "string", "null" ] }, "valueUsd": { "type": [ "string", "null" ] }, "valueNative": { "type": [ "string", "null" ] } } } }, "aggregates": { "type": [ "object", "null" ], "properties": { "buys": { "type": [ "number", "null" ] }, "sells": { "type": [ "number", "null" ] }, "buyVolumeUsd": { "type": [ "string", "null" ] }, "sellVolumeUsd": { "type": [ "string", "null" ] }, "netBase": { "type": [ "object", "null" ], "properties": { "raw": { "type": [ "string", "null" ] }, "decimals": { "type": [ "number", "null" ] } } }, "asOf": { "type": [ "string", "null" ] } } }, "cursor": { "type": [ "string", "null" ] }, "source": { "type": [ "string", "null" ] } } }, "meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "required": [ "data", "meta" ] }, "example": { "data": { "trades": [ { "ordinalKey": "461902558-329-5-1793068389000", "blockId": "461902558", "txIndex": 329, "eventIndex": 5, "blockTimeMs": 1793068389000, "txId": "tDm7fZH6iaMsN5fMCbyPuQswQT5w2WDEdUBCjBkKBSQGSQzj69VDiGQ43k31bfcv2skRVjSzENdSPFP5sU4BosP", "legIndex": 0, "late": false, "isBackfill": false, "side": "buy", "kind": "swap", "venue": "pump_amm", "pool": { "chainId": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp", "address": "HMzvsEEmtzHhvZNw9uwbaG85HCTmFnkbhzUx16cy7ca3" }, "trader": { "address": "8W5X1wFtYLUaKm9xVk7aNFYGDbDxoXVfchk79X6KfprV" }, "baseAmount": { "raw": "43440539", "decimals": 6 }, "quoteAmount": { "raw": "19967299", "decimals": 9 }, "quote": { "id": "So11111111111111111111111111111111111111112" }, "priceUsd": "0.045977619030846791", "priceQuote": "0.000458272577992515", "quotePriceUsd": "100.3281043615", "valueUsd": "2.003281257889274588", "valueNative": "0.019967299" }, { "ordinalKey": "461902377-59-503-1793068350000", "blockId": "461902377", "txIndex": 59, "eventIndex": 503, "blockTimeMs": 1793068350000, "txId": "5MXXEDcaHNFYBKyT82mukqyXq1KfP7Ar1edaYr2K4FEafeDidveNNJasLgLymFaJwjm868yoE3obiVRVfmNux4MS", "legIndex": 0, "late": false, "isBackfill": false, "side": "buy", "kind": "swap", "venue": "pump_amm", "pool": { "chainId": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp", "address": "HMzvsEEmtzHhvZNw9uwbaG85HCTmFnkbhzUx16cy7ca3" }, "trader": { "address": "pFYT2J6tUFAoMGevVCZUjviNvrDWWjQ2fGwMA226ZcR" }, "baseAmount": { "raw": "237599484", "decimals": 6 }, "quoteAmount": { "raw": "108883875", "decimals": 9 }, "quote": { "id": "So11111111111111111111111111111111111111112" }, "priceUsd": "0.04597370826318917", "priceQuote": "0.000458270616658584", "quotePriceUsd": "100.32000000000001", "valueUsd": "10.92323034", "valueNative": "0.108883875" } ], "aggregates": { "buys": 14, "sells": 6, "buyVolumeUsd": "688.124293943146", "sellVolumeUsd": "177.94605634291537", "netBase": { "raw": "11087954378", "decimals": 6 }, "asOf": "461902558-329-5-1793068389000" }, "cursor": "AQBEIcDM5Z2sgIhSNHuhAQAAGjAwMDQ2MTkwMjU1ODAwMDMyOTAwMDAwMDA1yLMpe6EBAAAaMDAwNDYxODk5MjkzMDAwMDQxMDAwMDA0MDOKk0ZgqEZElg", "source": "indexed" }, "meta": { "observedAt": 1793068417740, "ageMs": 161, "source": "fresh", "parts": { "trades": { "observedAt": 1793068417740, "source": "fresh" } } } } } } }, "400": { "description": "Invalid mint, user or query: { error, message } with error such as invalid_mint, invalid_period, invalid_wallets, rejected (pump.fun refused the parameters) or unknown_parameter (a query key this route does not accept; parameter and allowed name it)" }, "402": { "description": "Payment Required; x4o2-free-key extension describes free key signup and Authorization header" }, "409": { "description": "payment_in_flight: this payment is already being used by another request" }, "429": { "description": "Free key over its limit: minute_quota_exceeded, daily_quota_exceeded (resets 00:00 UTC) or free_tier_paused; honour Retry-After or pay per call; upgrade includes price, networks, payment instructions, discovery, docs and UTC daily reset. Link points to docs. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows" }, "502": { "description": "unavailable: pump.fun answered with an error; retry shortly" }, "503": { "description": "busy or unavailable: temporarily out of upstream capacity; honour Retry-After or pass stale=1" } } ``` - [GET /v1/coin/{mint}/candles](https://pump.x4o2.com/v1/coin/{mint}/candles): OHLCV candles for a pump.fun coin in USD or SOL, price or market cap (0.001 USD via x402) Historical candles for one coin from pump.fun's own chart data: open, high, low, close, USD volume and trade count per bucket. res picks the bucket (1m, 5m, 15m, 30m, 1h, 4h, 6h, 12h, 1d), count how many of the most recent buckets, measure whether values are price or market cap in USD or SOL. Paid: 0.001 USDC per call via x402 (Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp)). Unpaid requests receive 402 with payment requirements. Request body: ```json {} ``` Parameters: ```json [ { "name": "mint", "in": "path", "required": true, "schema": { "type": "string", "description": "Token mint address (base58)" }, "description": "Token mint address (base58)", "example": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump" }, { "name": "maxAge", "in": "query", "required": false, "schema": { "type": "integer", "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "minimum": 0 }, "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "example": "5" }, { "name": "stale", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 returns any cached copy immediately and refreshes in the background", "enum": [ 0, 1 ] }, "description": "1 returns any cached copy immediately and refreshes in the background", "example": "0" }, { "name": "res", "in": "query", "required": false, "schema": { "type": "string", "description": "Bucket size", "enum": [ "1m", "5m", "15m", "30m", "1h", "4h", "6h", "12h", "1d" ] }, "description": "Bucket size", "example": "5m" }, { "name": "count", "in": "query", "required": false, "schema": { "type": "integer", "description": "Number of most recent buckets", "minimum": 1, "maximum": 1000 }, "description": "Number of most recent buckets", "example": "100" }, { "name": "measure", "in": "query", "required": false, "schema": { "type": "string", "description": "Whether values are price or market cap, in USD or SOL", "enum": [ "price_usd", "price_sol", "market_cap_usd", "market_cap_sol" ] }, "description": "Whether values are price or market cap, in USD or SOL", "example": "price_usd" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": [ "object", "null" ], "properties": { "candles": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "openTimeMs": { "type": [ "number", "null" ] }, "open": { "type": [ "string", "null" ] }, "high": { "type": [ "string", "null" ] }, "low": { "type": [ "string", "null" ] }, "close": { "type": [ "string", "null" ] }, "volumeUsd": { "type": [ "string", "null" ] }, "trades": { "type": [ "number", "null" ] }, "final": { "type": [ "boolean", "null" ] }, "isCorrection": { "type": [ "boolean", "null" ] }, "pool": { "type": [ "object", "null" ], "properties": { "chainId": { "type": [ "string", "null" ] }, "address": { "type": [ "string", "null" ] } } } } } }, "hasOlder": { "type": [ "boolean", "null" ] }, "source": { "type": [ "string", "null" ] }, "served": { "type": [ "object", "null" ], "properties": { "res": { "type": [ "string", "null" ] }, "measure": { "type": [ "string", "null" ] } } }, "graduatedAt": { "type": [ "string", "null" ] }, "supplyUsed": { "type": [ "string", "null" ] }, "createdMs": { "type": [ "number", "null" ] } } }, "meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "required": [ "data", "meta" ] }, "example": { "data": { "candles": [ { "openTimeMs": 1792983600000, "open": "0.049196079569612752", "high": "0.049438157393969744", "low": "0.047073698397580112", "close": "0.047709635860043155", "volumeUsd": "61086.205056812140910387", "trades": 443, "final": true, "isCorrection": false, "pool": { "chainId": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp", "address": "HMzvsEEmtzHhvZNw9uwbaG85HCTmFnkbhzUx16cy7ca3" } }, { "openTimeMs": 1792987200000, "open": "0.047709635860043155", "high": "0.049313957230704308", "low": "0.047705799825580879", "close": "0.049280557137040381", "volumeUsd": "35697.161289006274381868", "trades": 228, "final": true, "isCorrection": false, "pool": { "chainId": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp", "address": "HMzvsEEmtzHhvZNw9uwbaG85HCTmFnkbhzUx16cy7ca3" } } ], "hasOlder": true, "source": "indexed", "served": { "res": "1h", "measure": "price_usd" }, "graduatedAt": "435367528-231-5-1785083563000", "supplyUsed": "1000000000", "createdMs": 1785083078000 }, "meta": { "observedAt": 1793068417904, "ageMs": 128, "source": "fresh", "parts": { "candles": { "observedAt": 1793068417904, "source": "fresh" } } } } } } }, "400": { "description": "Invalid mint, user or query: { error, message } with error such as invalid_mint, invalid_period, invalid_wallets, rejected (pump.fun refused the parameters) or unknown_parameter (a query key this route does not accept; parameter and allowed name it)" }, "402": { "description": "Payment Required; x4o2-free-key extension describes free key signup and Authorization header" }, "409": { "description": "payment_in_flight: this payment is already being used by another request" }, "429": { "description": "Free key over its limit: minute_quota_exceeded, daily_quota_exceeded (resets 00:00 UTC) or free_tier_paused; honour Retry-After or pay per call; upgrade includes price, networks, payment instructions, discovery, docs and UTC daily reset. Link points to docs. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows" }, "502": { "description": "unavailable: pump.fun answered with an error; retry shortly" }, "503": { "description": "busy or unavailable: temporarily out of upstream capacity; honour Retry-After or pass stale=1" } } ``` - [GET /v1/coins/trending](https://pump.x4o2.com/v1/coins/trending): pump.fun trending board: the coins moving right now with market cap, volume and price change (0.001 USD via x402) pump.fun's live trending board (the 'movers' surface of its advanced indexer): mint, name, ticker, chain, market cap, volume, price changes, holder and transaction counts per coin, ordered as the site ranks them. Use to find what is active on pump.fun at this moment. Paid: 0.001 USDC per call via x402 (Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp)). Unpaid requests receive 402 with payment requirements. Request body: ```json {} ``` Parameters: ```json [ { "name": "maxAge", "in": "query", "required": false, "schema": { "type": "integer", "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "minimum": 0 }, "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "example": "5" }, { "name": "stale", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 returns any cached copy immediately and refreshes in the background", "enum": [ 0, 1 ] }, "description": "1 returns any cached copy immediately and refreshes in the background", "example": "0" }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "description": "Number of entries, 1-150", "minimum": 1, "maximum": 150, "default": 50 }, "description": "Number of entries, 1-150", "example": "50" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": [ "object", "null" ], "properties": { "board": { "type": [ "string", "null" ] }, "version": { "type": [ "number", "null" ] }, "serverTs": { "type": [ "number", "null" ] }, "rid": { "type": [ "string", "null" ] }, "entries": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "m": { "type": [ "string", "null" ] }, "c": { "type": [ "string", "null" ] }, "n": { "type": [ "string", "null" ] }, "t": { "type": [ "string", "null" ] }, "i": { "type": [ "string", "null" ] }, "mc": { "type": [ "number", "null" ] }, "v": { "type": [ "number", "null" ] }, "vUsd": { "type": [ "number", "null" ] }, "p": { "type": [ "number", "null" ] }, "v5": { "type": [ "number", "null" ] }, "v15": { "type": [ "number", "null" ] }, "v1h": { "type": [ "number", "null" ] }, "v24h": { "type": [ "number", "null" ] }, "vUsd5": { "type": [ "number", "null" ] }, "vUsd15": { "type": [ "number", "null" ] }, "vUsd1h": { "type": [ "number", "null" ] }, "vUsd24h": { "type": [ "number", "null" ] }, "tx5": { "type": [ "number", "null" ] }, "age": { "type": [ "number", "null" ] }, "kol": { "type": [ "number", "null" ] }, "sn": { "type": [ "number", "null" ] }, "mh": { "type": [ "boolean", "null" ] }, "hs": { "type": [ "boolean", "null" ] }, "pg": { "type": [ "string", "null" ] }, "pl": { "type": [ "string", "null" ] }, "lp": { "type": [ "string", "null" ] }, "gd": { "type": [ "number", "null" ] }, "ath": { "type": [ "number", "null" ] }, "bc": { "type": [ "number", "null" ] }, "sc": { "type": [ "number", "null" ] }, "txc": { "type": [ "number", "null" ] }, "nh": { "type": [ "number", "null" ] }, "t10": { "type": [ "number", "null" ] }, "dh": { "type": [ "number", "null" ] }, "tw": { "type": [ "boolean", "null" ] }, "ws": { "type": [ "boolean", "null" ] }, "tg": { "type": [ "boolean", "null" ] }, "cb": { "type": [ "boolean", "null" ] }, "hr": { "type": [ "boolean", "null" ] }, "dw": { "type": [ "string", "null" ] }, "lv": { "type": [ "boolean", "null" ] }, "np": { "type": [ "number", "null" ] }, "ic": { "type": [ "boolean", "null" ] }, "so": { "type": [ "number", "null" ] }, "bo": { "type": [ "number", "null" ] }, "pa": { "type": [ "string", "null" ] }, "desc": { "type": [ "string", "null" ] }, "ih": { "type": [ "boolean", "null" ] }, "tf": { "type": [ "number", "null" ] }, "tfUsd": { "type": [ "number", "null" ] }, "rid": { "type": [ "string", "null" ] } } } } } }, "meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "required": [ "data", "meta" ] }, "example": { "data": { "board": "movers", "version": 0, "serverTs": 1793068418049, "rid": "33791109-adeb-4672-9c53-87a7cec19bbd", "entries": [ { "m": "DMnMwUvo1a9HbSnixbdNaTsoHczJ8cdamUWVRM1Qpump", "c": "solana:mainnet", "n": "hachi", "t": "HACHI", "i": "https://pump.mypinata.cloud/ipfs/bafybeifcupdkhiptds45hm2t2ktbdj4xdaaryawisggb44ofecujhzimxu", "mc": 283429.9323915603, "v": 13931.290694258803, "vUsd": 1401115.8241099545, "p": 100, "v5": 356.7156161490001, "v15": 1355.4134753570002, "v1h": 8401.597013714, "v24h": 13931.290694258998, "vUsd5": 35779.9254060024, "vUsd15": 136039.7042574945, "vUsd1h": 844281.8976198111, "vUsd24h": 1401115.8241099608, "tx5": 887, "age": 6305, "kol": 20, "sn": 63, "mh": false, "hs": true, "pg": "pump", "pl": "", "lp": "pump", "gd": 1793062291000, "ath": 475074.69595382595, "bc": 17189, "sc": 13878, "txc": 31067, "nh": 2357, "t10": 18.3354, "dh": 0, "tw": true, "ws": true, "tg": false, "cb": false, "hr": true, "dw": "84kLjynrCipA4XCZs3qktYvtZQYFXbnLbadmQf8h5uEr", "lv": false, "np": 0, "ic": false, "so": 0.1515, "bo": 0.4684, "pa": "SOL", "ih": true, "tf": 97.5842960369994, "tfUsd": 9816.216145959257, "rid": "33791109-adeb-4672-9c53-87a7cec19bbd" }, { "m": "6C31wHskg626TbP4euQwSHg3wpUcP6VMsaNUWQeBpump", "c": "solana:mainnet", "n": "wiener", "t": "wiener", "i": "https://images.pump.fun/coin-image/6C31wHskg626TbP4euQwSHg3wpUcP6VMsaNUWQeBpump", "mc": 51838.738662494216, "v": 4557.264561371902, "vUsd": 458063.5044101163, "p": 100, "v5": 660.5549372323467, "v15": 714.1260410245187, "v1h": 4552.341516399764, "v24h": 4557.26456137191, "vUsd5": 66280.39694545521, "vUsd15": 71659.08477131002, "vUsd1h": 457568.93531221605, "vUsd24h": 458063.5044101174, "tx5": 498, "age": 3559, "kol": 20, "sn": 134, "mh": false, "hs": true, "pg": "pump", "pl": "", "lp": "pump", "gd": 1793064867000, "ath": 112318.6347836581, "bc": 4814, "sc": 4235, "txc": 9049, "nh": 386, "t10": 43.4099, "dh": 0, "tw": true, "ws": true, "tg": false, "cb": false, "hr": true, "dw": "8s927nFr7zjUGWk9Eok2pTckSAP2QLQUL5dzAeDhSJ98", "lv": false, "np": 0, "ic": false, "so": 4.2214, "bo": 0, "pa": "SPCX", "desc": "wiener", "ih": true, "tf": 50.34779659899962, "tfUsd": 5059.651794530269, "rid": "33791109-adeb-4672-9c53-87a7cec19bbd" } ] }, "meta": { "observedAt": 1793068418034, "ageMs": 30, "source": "fresh", "parts": { "trending": { "observedAt": 1793068418034, "source": "fresh" } } } } } } }, "400": { "description": "Invalid mint, user or query: { error, message } with error such as invalid_mint, invalid_period, invalid_wallets, rejected (pump.fun refused the parameters) or unknown_parameter (a query key this route does not accept; parameter and allowed name it)" }, "402": { "description": "Payment Required; x4o2-free-key extension describes free key signup and Authorization header" }, "409": { "description": "payment_in_flight: this payment is already being used by another request" }, "429": { "description": "Free key over its limit: minute_quota_exceeded, daily_quota_exceeded (resets 00:00 UTC) or free_tier_paused; honour Retry-After or pay per call; upgrade includes price, networks, payment instructions, discovery, docs and UTC daily reset. Link points to docs. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows" }, "502": { "description": "unavailable: pump.fun answered with an error; retry shortly" }, "503": { "description": "busy or unavailable: temporarily out of upstream capacity; honour Retry-After or pass stale=1" } } ``` - [GET /v1/coins/feed](https://pump.x4o2.com/v1/coins/feed): pump.fun home feed: ranked coins with market cap, protocol, creator and recent activity (0.001 USD via x402) The ranked coin feed pump.fun's home page loads: each coin's mint, name, image, market cap, protocol (pump bonding curve or AMM), creator, creation time and activity figures. A broader, slower-moving list than the trending board. Use for market-wide scans. Paid: 0.001 USDC per call via x402 (Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp)). Unpaid requests receive 402 with payment requirements. Request body: ```json {} ``` Parameters: ```json [ { "name": "maxAge", "in": "query", "required": false, "schema": { "type": "integer", "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "minimum": 0 }, "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "example": "5" }, { "name": "stale", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 returns any cached copy immediately and refreshes in the background", "enum": [ 0, 1 ] }, "description": "1 returns any cached copy immediately and refreshes in the background", "example": "0" }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "description": "Number of entries, 1-150", "minimum": 1, "maximum": 150, "default": 50 }, "description": "Number of entries, 1-150", "example": "50" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": [ "object", "null" ], "properties": { "coins": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "coinMint": { "type": [ "string", "null" ] }, "coinName": { "type": [ "string", "null" ] }, "coinImage": { "type": [ "string", "null" ] }, "symbol": { "type": [ "string", "null" ] }, "coinDescription": {}, "marketCap": { "type": [ "number", "null" ] }, "protocol": { "type": [ "string", "null" ] }, "platform": {}, "program": { "type": [ "string", "null" ] }, "chain": { "type": [ "string", "null" ] }, "narrative": {}, "position": { "type": [ "object", "null" ], "properties": { "userId": { "type": [ "string", "null" ] }, "userName": { "type": [ "string", "null" ] }, "profileImage": { "type": [ "string", "null" ] }, "walletAddress": { "type": [ "string", "null" ] }, "isVerified": { "type": [ "boolean", "null" ] }, "verifiedBadgeVisible": { "type": [ "boolean", "null" ] }, "resolvedAvatarDecoration": { "type": [ "string", "null" ] }, "xUsername": { "type": [ "string", "null" ] }, "xProfileImage": {}, "accountKind": { "type": [ "string", "null" ] }, "followerCount": { "type": [ "number", "null" ] }, "totalCallouts": { "type": [ "number", "null" ] }, "amountHeld": { "type": [ "number", "null" ] }, "valueUsd": { "type": [ "number", "null" ] }, "pnlUsd": { "type": [ "number", "null" ] }, "pnlPercentage": { "type": [ "number", "null" ] }, "realizedPnlUsd": { "type": [ "number", "null" ] }, "tokenPriceUsd": { "type": [ "number", "null" ] }, "costBasisAmount": { "type": [ "number", "null" ] }, "costBasisUsd": { "type": [ "number", "null" ] }, "amountBoughtUsd": { "type": [ "number", "null" ] }, "amountBought": { "type": [ "number", "null" ] }, "callout": { "type": [ "object", "null" ], "properties": { "calloutId": { "type": [ "string", "null" ] }, "chain": {}, "assetClass": { "type": [ "string", "null" ] }, "perp": {}, "calledOutAtMcap": { "type": [ "number", "null" ] }, "multiple": { "type": [ "number", "null" ] }, "thesis": { "type": [ "string", "null" ] }, "mediaUrl": {}, "calloutTimestamp": { "type": [ "string", "null" ] }, "likes": { "type": [ "number", "null" ] }, "hasLiked": {}, "updates": { "type": [ "array", "null" ] }, "updateCount": { "type": [ "number", "null" ] }, "commentCount": { "type": [ "number", "null" ] }, "replyCount": { "type": [ "number", "null" ] }, "maxMultiplier": { "type": [ "number", "null" ] }, "maxMultiplierAt": { "type": [ "string", "null" ] }, "calloutPrice": { "type": [ "number", "null" ] }, "repostCount": { "type": [ "number", "null" ] }, "quoteCount": { "type": [ "number", "null" ] }, "hasReposted": {}, "viewCount": { "type": [ "number", "null" ] }, "quotedCalloutId": {}, "quotedCallout": {}, "actingUserId": {}, "actingUser": {} } }, "contentKind": { "type": [ "string", "null" ] }, "quote": {} } }, "recommendationId": { "type": [ "string", "null" ] }, "recommendationRank": { "type": [ "number", "null" ] }, "followedHolders": {} } } } } }, "meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "required": [ "data", "meta" ] }, "example": { "data": { "coins": [ { "coinMint": "GgQkMxSG6zEnJDEWuRP8qXeemuBHupo1WMfSL8KWpump", "coinName": "OFFICIAL MUSK 2028", "coinImage": "https://ipfs.io/ipfs/QmVa7YUgZQEzfW4zjQdAatdTwEA9qAGzUxJVvTbrmu25TC", "symbol": "MUSK2028", "coinDescription": null, "marketCap": 41990.79492187116, "protocol": "pump", "platform": null, "program": "pump", "chain": "solana", "narrative": null, "position": { "userId": "117295aa-dd30-43fe-a8e0-780e987edf96", "userName": "clive_99", "profileImage": "https://socialimages.pump.fun/profile-images/117295aa-dd30-43fe-a8e0-780e987edf96/c714349c-0871-4026-a27a-3c4fc086e07f", "walletAddress": "EwDxFbpLu8aUQ1fAvB9mCfyNfj565pdoVpZRmK843hzn", "isVerified": true, "verifiedBadgeVisible": false, "resolvedAvatarDecoration": "achievement:multiple-100x", "xUsername": "Clive_99", "xProfileImage": null, "accountKind": "person", "followerCount": 24542, "totalCallouts": 48, "amountHeld": 2733588.286763, "valueUsd": 110.8235526171346, "pnlUsd": 87.94099041030259, "pnlPercentage": 125.21465486527994, "realizedPnlUsd": 27.42753943975549, "tokenPriceUsd": 0.00004054142064984013, "costBasisAmount": 2733588.286763, "costBasisUsd": 50.3101016465875, "amountBoughtUsd": 70.23218688333202, "amountBought": 3973327.184992, "callout": { "calloutId": "4478f34e-991f-44c1-a753-d68b020e25d9", "chain": null, "assetClass": "ASSET_CLASS_TOKEN", "perp": null, "calledOutAtMcap": 22135, "multiple": 1.929299836659658, "thesis": "Lmfao this guy bought the musk official 2028 website domain for $2k", "mediaUrl": null, "calloutTimestamp": "2026-10-27T02:30:02.935Z", "likes": 4, "hasLiked": null, "updates": [ { "id": "16308f02-9faf-43fb-b317-5475555ba677", "content": "Lmao ca on site and it looks good", "createdAt": "2026-10-27T02:32:03.102Z", "likeCount": 1, "mediaUrl": null, "parentMessageId": null, "repostCount": 0, "viewCount": 297 } ], "updateCount": 1, "commentCount": 0, "replyCount": 1, "maxMultiplier": 2.200288870518691, "maxMultiplierAt": "2026-10-27T02:32:09.678Z", "calloutPrice": 0.000022135026845, "repostCount": 1, "quoteCount": 0, "hasReposted": null, "viewCount": 1723, "quotedCalloutId": null, "quotedCallout": null, "actingUserId": null, "actingUser": null }, "contentKind": "callout", "quote": null }, "recommendationId": "1a19037c-c6da-4934-b6a2-a853f7365639", "recommendationRank": 1, "followedHolders": null }, { "coinMint": "DMnMwUvo1a9HbSnixbdNaTsoHczJ8cdamUWVRM1Qpump", "coinName": "hachi", "coinImage": "https://pump.mypinata.cloud/ipfs/bafybeifcupdkhiptds45hm2t2ktbdj4xdaaryawisggb44ofecujhzimxu", "symbol": "HACHI", "coinDescription": null, "marketCap": 287949.3675772208, "protocol": "pump", "platform": null, "program": "pump", "chain": "solana", "narrative": null, "position": { "userId": "f38c405e-524f-4e9d-bf4b-41bb8f1f80ae", "userName": "cap", "profileImage": "https://socialimages.pump.fun/profile-images/f38c405e-524f-4e9d-bf4b-41bb8f1f80ae/73ff9f18-e9a0-4349-a9e3-9f8ea6c14a86", "walletAddress": "CAPn1yH4oSywsxGU456jfgTrSSUidf9jgeAnHceNUJdw", "isVerified": true, "verifiedBadgeVisible": false, "resolvedAvatarDecoration": "legendary", "xUsername": "cap100x", "xProfileImage": null, "accountKind": "person", "followerCount": 117509, "totalCallouts": 281, "amountHeld": 22581685.141896997, "valueUsd": 6626.84969508924, "pnlUsd": 6822.251891975305, "pnlPercentage": 252.63946854880922, "realizedPnlUsd": 2895.7925718196093, "tokenPriceUsd": 0.0002934612564761208, "costBasisAmount": 22581685.141896997, "costBasisUsd": 2700.390374933545, "amountBoughtUsd": 2104.84526340122, "amountBought": 60101933.311647, "callout": { "calloutId": "1027459b-c1d3-4c12-a27e-bec94a3bf6e2", "chain": null, "assetClass": "ASSET_CLASS_TOKEN", "perp": null, "calledOutAtMcap": 22913, "multiple": 11.43070192893623, "thesis": "We are all Hachi, waiting for our airdrop. Those who are smart, know.", "mediaUrl": null, "calloutTimestamp": "2026-10-27T00:56:38.968Z", "likes": 39, "hasLiked": null, "updates": [ { "id": "bfc05376-6ac6-470a-b4d2-a73c0004ebd4", "content": "dev just setup a website to make your own PFP\r\n\r\nEVERYONE CHANGE EM, WE ARE HACHI.\r\n\r\nhttps://x.com/HachiOnPf/status/...", "createdAt": "2026-10-27T02:22:47.760Z", "likeCount": 11, "mediaUrl": "https://socialimages.pump.fun/community-media/f38c405e-524f-4e9d-bf4b-41bb8f1f80ae/3dbef04d-faaa-4faa-81d1-2089dd60fee9", "parentMessageId": null, "repostCount": 3, "viewCount": 783 }, { "id": "6783b482-efff-4794-9e19-69267843e12b", "content": "Loving this content, dev knows game", "createdAt": "2026-10-27T01:55:28.916Z", "likeCount": 23, "mediaUrl": "https://socialimages.pump.fun/community-media/f38c405e-524f-4e9d-bf4b-41bb8f1f80ae/f04e0d3b-28da-47fb-8779-77e95a3cbd2b", "parentMessageId": null, "repostCount": 6, "viewCount": 2062 } ], "updateCount": 10, "commentCount": 17, "replyCount": 27, "maxMultiplier": 19.928031648372535, "maxMultiplierAt": "2026-10-27T02:17:19.643Z", "calloutPrice": 0.0000238414959363, "repostCount": 8, "quoteCount": 0, "hasReposted": null, "viewCount": 11479, "quotedCalloutId": null, "quotedCallout": null, "actingUserId": null, "actingUser": null }, "contentKind": "callout", "quote": null }, "recommendationId": "1a19037c-c6da-4934-b6a2-a853f7365639", "recommendationRank": 2, "followedHolders": null } ] }, "meta": { "observedAt": 1793068418067, "ageMs": 219, "source": "fresh", "parts": { "homeFeed": { "observedAt": 1793068418067, "source": "fresh" } } } } } } }, "400": { "description": "Invalid mint, user or query: { error, message } with error such as invalid_mint, invalid_period, invalid_wallets, rejected (pump.fun refused the parameters) or unknown_parameter (a query key this route does not accept; parameter and allowed name it)" }, "402": { "description": "Payment Required; x4o2-free-key extension describes free key signup and Authorization header" }, "409": { "description": "payment_in_flight: this payment is already being used by another request" }, "429": { "description": "Free key over its limit: minute_quota_exceeded, daily_quota_exceeded (resets 00:00 UTC) or free_tier_paused; honour Retry-After or pay per call; upgrade includes price, networks, payment instructions, discovery, docs and UTC daily reset. Link points to docs. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows" }, "502": { "description": "unavailable: pump.fun answered with an error; retry shortly" }, "503": { "description": "busy or unavailable: temporarily out of upstream capacity; honour Retry-After or pass stale=1" } } ``` - [GET /v1/coins/live](https://pump.x4o2.com/v1/coins/live): Coins currently livestreaming on pump.fun, with viewer counts and market data (0.001 USD via x402) Coins whose creators are live on pump.fun right now: coin metadata, market cap, bonding-curve state, livestream participant counts and thumbnail. Use to track the livestream meta. Paid: 0.001 USDC per call via x402 (Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp)). Unpaid requests receive 402 with payment requirements. Request body: ```json {} ``` Parameters: ```json [ { "name": "maxAge", "in": "query", "required": false, "schema": { "type": "integer", "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "minimum": 0 }, "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "example": "5" }, { "name": "stale", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 returns any cached copy immediately and refreshes in the background", "enum": [ 0, 1 ] }, "description": "1 returns any cached copy immediately and refreshes in the background", "example": "0" }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "description": "Number of entries, 1-100", "minimum": 1, "maximum": 100, "default": 20 }, "description": "Number of entries, 1-100", "example": "20" }, { "name": "offset", "in": "query", "required": false, "schema": { "type": "integer", "description": "Pagination offset", "minimum": 0, "maximum": 100000 }, "description": "Pagination offset", "example": "0" }, { "name": "nsfw", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 includes coins flagged NSFW", "enum": [ 0, 1 ] }, "description": "1 includes coins flagged NSFW", "example": "0" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "mint": { "type": [ "string", "null" ] }, "initialized": { "type": [ "boolean", "null" ] }, "name": { "type": [ "string", "null" ] }, "symbol": { "type": [ "string", "null" ] }, "description": { "type": [ "string", "null" ] }, "image_uri": { "type": [ "string", "null" ] }, "metadata_uri": { "type": [ "string", "null" ] }, "twitter": { "type": [ "string", "null" ] }, "bonding_curve": { "type": [ "string", "null" ] }, "associated_bonding_curve": { "type": [ "string", "null" ] }, "creator": { "type": [ "string", "null" ] }, "created_timestamp": { "type": [ "number", "null" ] }, "complete": { "type": [ "boolean", "null" ] }, "hidden": { "type": [ "boolean", "null" ] }, "total_supply": { "type": [ "number", "null" ] }, "show_name": { "type": [ "boolean", "null" ] }, "last_trade_timestamp": { "type": [ "number", "null" ] }, "market_cap": { "type": [ "number", "null" ] }, "nsfw": { "type": [ "boolean", "null" ] }, "is_banned": { "type": [ "boolean", "null" ] }, "pump_swap_pool": { "type": [ "string", "null" ] }, "livestream_ban_expiry": { "type": [ "number", "null" ] }, "is_currently_live": { "type": [ "boolean", "null" ] }, "ath_market_cap": { "type": [ "number", "null" ] }, "ath_market_cap_timestamp": { "type": [ "number", "null" ] }, "hide_banner": { "type": [ "boolean", "null" ] }, "program": { "type": [ "string", "null" ] }, "token_program": { "type": [ "string", "null" ] }, "quote_mint": { "type": [ "string", "null" ] }, "base_decimals": { "type": [ "number", "null" ] }, "quote_decimals": { "type": [ "number", "null" ] }, "pool_address": { "type": [ "string", "null" ] }, "is_cashback_enabled": { "type": [ "boolean", "null" ] }, "indexed_by_pump": { "type": [ "boolean", "null" ] }, "tokenized_agent": { "type": [ "boolean", "null" ] }, "chain_id": { "type": [ "string", "null" ] }, "multichain_family": { "type": [ "number", "null" ] }, "protocol": { "type": [ "string", "null" ] }, "is_charity": { "type": [ "boolean", "null" ] }, "total_supply_str": { "type": [ "string", "null" ] }, "market_cap_usd": { "type": [ "number", "null" ] }, "market_cap_quote": { "type": [ "number", "null" ] }, "canonical_pool_liquidity_usd": { "type": [ "number", "null" ] }, "boost_mode": { "type": [ "string", "null" ] }, "verified": { "type": [ "boolean", "null" ] }, "is_holder_reward": { "type": [ "boolean", "null" ] }, "transfer_fee_bps": { "type": [ "number", "null" ] }, "is_backfill": { "type": [ "boolean", "null" ] }, "transfer_hook_program": { "type": [ "string", "null" ] }, "depth": { "type": [ "number", "null" ] }, "security_verdict": { "type": [ "object", "null" ], "properties": { "verdict": { "type": [ "string", "null" ] }, "scope": { "type": [ "string", "null" ] }, "reasons": { "type": [ "array", "null" ], "items": { "type": [ "string", "null" ] } }, "decided_by": { "type": [ "string", "null" ] }, "provider": { "type": [ "string", "null" ] }, "version": { "type": [ "number", "null" ] }, "updated_at": { "type": [ "number", "null" ] }, "source": { "type": [ "string", "null" ] } } }, "usd_market_cap": { "type": [ "number", "null" ] }, "thumbnail": { "type": [ "string", "null" ] }, "thumbnail_updated_at": { "type": [ "number", "null" ] }, "num_participants": { "type": [ "number", "null" ] }, "livestream_title": { "type": [ "string", "null" ] }, "playlist_url": { "type": [ "string", "null" ] }, "playlist_url_high": { "type": [ "string", "null" ] }, "playlist_url_low": { "type": [ "string", "null" ] }, "vod_playlist_url": { "type": [ "string", "null" ] }, "playlist_status": { "type": [ "string", "null" ] } } } }, "meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "required": [ "data", "meta" ] }, "example": { "data": [ { "mint": "21KUG4K8t2D7GoRhRjzYntfgwq1S3dhFhuF6RUSypump", "initialized": true, "name": "The Nut Reaper", "symbol": "NUTR", "description": "Halloween is here, and the Reaper has arrived… but this time, he’s coming for your nuts. 🥜💀 As October fades into d...", "image_uri": "https://ipfs.io/ipfs/bafkreigucczh3fwmlbodcicjjbbkkwsernm6iwwlp25vy5z5x4tvb53mxi", "metadata_uri": "https://ipfs.io/ipfs/QmNoBYs5SsLTMdfZsLZxsZ91AbekcTMHaMsZPSBCSscniU", "twitter": "https://x.com/probalybroke?s=11", "bonding_curve": "7ogQEmazkm5F81sfwomNs3TJjkHdMbRoMVMCGQ8QF5yw", "associated_bonding_curve": "9MyiLAuhcTeqXUsnE2v65JMiDSgcTXxSfQormpCox5KF", "creator": "DhMZssJugmEqw6JDzH3NUhs1zBvJvPisy7vfTPDQVViz", "created_timestamp": 1792999088000, "complete": false, "hidden": false, "total_supply": 1000000000000000, "show_name": true, "last_trade_timestamp": 1793068365000, "market_cap": 46.40144092342358, "nsfw": false, "is_banned": false, "livestream_ban_expiry": 0, "is_currently_live": true, "ath_market_cap": 5268.141844673489, "ath_market_cap_timestamp": 1793054026000, "hide_banner": false, "program": "pump", "token_program": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb", "quote_mint": "11111111111111111111111111111111", "base_decimals": 6, "quote_decimals": 9, "pool_address": "D7uCeqo9BcGspQpKjwDvMqffWj7dJmD8VtcYZHveUuvj", "is_cashback_enabled": false, "indexed_by_pump": false, "tokenized_agent": false, "chain_id": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp", "multichain_family": 1, "protocol": "pump", "is_charity": false, "total_supply_str": "1000000000000000", "market_cap_usd": 4656.384596665555, "market_cap_quote": 46.40144092342358, "canonical_pool_liquidity_usd": 867.8196368163, "boost_mode": "NONE", "verified": false, "is_holder_reward": false, "transfer_fee_bps": 0, "is_backfill": false, "transfer_hook_program": "", "depth": 0, "security_verdict": { "verdict": "allow", "scope": "all", "reasons": [ "benign" ], "decided_by": "default", "provider": "none", "version": 10, "updated_at": 1793068291129, "source": "" }, "usd_market_cap": 4656.384596665555, "thumbnail": "https://clips.pump.fun/21KUG4K8t2D7GoRhRjzYntfgwq1S3dhFhuF6RUSypump/2610655_20261027_021101/thumb.jpg", "thumbnail_updated_at": 1793067120027, "num_participants": 6, "livestream_title": "DEV LIVE", "playlist_url": "https://clips.pump.fun/21KUG4K8t2D7GoRhRjzYntfgwq1S3dhFhuF6RUSypump/2610655_20261027_021101/playlist_20261027_021101_...", "playlist_url_high": "https://clips.pump.fun/21KUG4K8t2D7GoRhRjzYntfgwq1S3dhFhuF6RUSypump/2610655_20261027_021101/playlist_20261027_021101_...", "playlist_url_low": "https://clips.pump.fun/21KUG4K8t2D7GoRhRjzYntfgwq1S3dhFhuF6RUSypump/2610655_20261027_021101/playlist_20261027_021101_...", "vod_playlist_url": "https://clips.pump.fun/21KUG4K8t2D7GoRhRjzYntfgwq1S3dhFhuF6RUSypump/2610655_20261027_021101/master_playlist_20261027_...", "playlist_status": "ACTIVE", "playlist_updated_at": "2026-10-27T02:33:31.873Z" }, { "mint": "DtBatQsrazRRVp37UTMQH7TnXL1mT2qrJTj7PB9Rpump", "initialized": true, "name": "Wifoween", "symbol": "Wifoween", "description": "Last year I was live for months and ran Wifmas to 5 million market cap The trenches have been dead lately and its th...", "image_uri": "https://ipfs.io/ipfs/bafybeiek3onzi7mrxscshclonzyhtq3rvciv6mbzmagjywkb3mwmq6kgl4", "metadata_uri": "https://ipfs.io/ipfs/bafkreid4hj76v73lqocu2qbpat5hx2x4bnbwthwbczqt65lduqj3rxvkcm", "twitter": "https://x.com/wifoweenonpump/status/2114838771736985696", "bonding_curve": "BoFkUrggEbc4yZgxqiB8nrcfaMUweBud8nqazgTPvjVe", "associated_bonding_curve": "58o21HUMk8vgMp8Nv564A42Aw31TusbxpGRiCarUAeNB", "creator": "FH15gfwbKYA16194BhjaodzpD47eWQsuzJZS9xwYnfRp", "created_timestamp": 1793051947000, "complete": true, "hidden": false, "total_supply": 1000000000000000, "show_name": true, "last_trade_timestamp": 1793068403000, "market_cap": 606.6775564648564, "nsfw": false, "is_banned": false, "pump_swap_pool": "7uQqLaNyahzkmt6ydMZgLAbmfy7SFik3mg13HP9x8hiH", "livestream_ban_expiry": 0, "is_currently_live": true, "ath_market_cap": 167384.4505703179, "ath_market_cap_timestamp": 1793053502000, "hide_banner": false, "program": "pump", "token_program": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb", "quote_mint": "11111111111111111111111111111111", "base_decimals": 6, "quote_decimals": 9, "pool_address": "7uQqLaNyahzkmt6ydMZgLAbmfy7SFik3mg13HP9x8hiH", "is_cashback_enabled": false, "indexed_by_pump": false, "tokenized_agent": false, "chain_id": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp", "multichain_family": 1, "protocol": "pump", "is_charity": false, "total_supply_str": "1000000000000000", "market_cap_usd": 60866.891001064265, "market_cap_quote": 606.6775564648564, "canonical_pool_liquidity_usd": 21992.153081508503, "boost_mode": "COMPLETED", "verified": false, "is_holder_reward": false, "transfer_fee_bps": 0, "is_backfill": false, "transfer_hook_program": "", "depth": 0, "security_verdict": { "verdict": "allow", "scope": "all", "reasons": [ "benign" ], "decided_by": "default", "provider": "none", "version": 13, "updated_at": 1793067180203, "source": "" }, "usd_market_cap": 60866.891001064265, "thumbnail": "https://clips.pump.fun/DtBatQsrazRRVp37UTMQH7TnXL1mT2qrJTj7PB9Rpump/2610589_20261027_010140/thumb.jpg", "thumbnail_updated_at": 1793062950078, "num_participants": 54, "livestream_title": "wifoween", "playlist_url": "https://clips.pump.fun/DtBatQsrazRRVp37UTMQH7TnXL1mT2qrJTj7PB9Rpump/2610589_20261027_010140/playlist_20261027_010140_...", "playlist_url_high": "https://clips.pump.fun/DtBatQsrazRRVp37UTMQH7TnXL1mT2qrJTj7PB9Rpump/2610589_20261027_010140/playlist_20261027_010140_...", "playlist_url_low": "https://clips.pump.fun/DtBatQsrazRRVp37UTMQH7TnXL1mT2qrJTj7PB9Rpump/2610589_20261027_010140/playlist_20261027_010140_...", "vod_playlist_url": "https://clips.pump.fun/DtBatQsrazRRVp37UTMQH7TnXL1mT2qrJTj7PB9Rpump/2610589_20261027_010140/master_playlist_20261027_...", "playlist_status": "ACTIVE", "playlist_updated_at": "2026-10-27T02:33:31.348Z" } ], "meta": { "observedAt": 1793068418288, "ageMs": 27, "source": "fresh", "parts": { "live": { "observedAt": 1793068418288, "source": "fresh" } } } } } } }, "400": { "description": "Invalid mint, user or query: { error, message } with error such as invalid_mint, invalid_period, invalid_wallets, rejected (pump.fun refused the parameters) or unknown_parameter (a query key this route does not accept; parameter and allowed name it)" }, "402": { "description": "Payment Required; x4o2-free-key extension describes free key signup and Authorization header" }, "409": { "description": "payment_in_flight: this payment is already being used by another request" }, "429": { "description": "Free key over its limit: minute_quota_exceeded, daily_quota_exceeded (resets 00:00 UTC) or free_tier_paused; honour Retry-After or pay per call; upgrade includes price, networks, payment instructions, discovery, docs and UTC daily reset. Link points to docs. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows" }, "502": { "description": "unavailable: pump.fun answered with an error; retry shortly" }, "503": { "description": "busy or unavailable: temporarily out of upstream capacity; honour Retry-After or pass stale=1" } } ``` - [GET /v1/coins/search](https://pump.x4o2.com/v1/coins/search): Search pump.fun coins by name, ticker or mint (0.001 USD via x402) pump.fun's coin search: matches on name, symbol, description or mint, ranked by USD market cap. Returns full coin records (mint, metadata, market cap, creator, bonding-curve state). Use to resolve a ticker or name to a mint. Paid: 0.001 USDC per call via x402 (Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp)). Unpaid requests receive 402 with payment requirements. Request body: ```json {} ``` Parameters: ```json [ { "name": "maxAge", "in": "query", "required": false, "schema": { "type": "integer", "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "minimum": 0 }, "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "example": "5" }, { "name": "stale", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 returns any cached copy immediately and refreshes in the background", "enum": [ 0, 1 ] }, "description": "1 returns any cached copy immediately and refreshes in the background", "example": "0" }, { "name": "q", "in": "query", "required": false, "schema": { "type": "string", "description": "Search text (name, ticker, mint or description), up to 100 characters" }, "description": "Search text (name, ticker, mint or description), up to 100 characters", "example": "cat" }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "description": "Number of entries, 1-100", "minimum": 1, "maximum": 100, "default": 20 }, "description": "Number of entries, 1-100", "example": "20" }, { "name": "offset", "in": "query", "required": false, "schema": { "type": "integer", "description": "Pagination offset", "minimum": 0, "maximum": 100000 }, "description": "Pagination offset", "example": "0" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "mint": { "type": [ "string", "null" ] }, "initialized": { "type": [ "boolean", "null" ] }, "name": { "type": [ "string", "null" ] }, "symbol": { "type": [ "string", "null" ] }, "description": { "type": [ "string", "null" ] }, "image_uri": { "type": [ "string", "null" ] }, "metadata_uri": { "type": [ "string", "null" ] }, "bonding_curve": { "type": [ "string", "null" ] }, "associated_bonding_curve": { "type": [ "string", "null" ] }, "creator": { "type": [ "string", "null" ] }, "created_timestamp": { "type": [ "number", "null" ] }, "complete": { "type": [ "boolean", "null" ] }, "hidden": { "type": [ "boolean", "null" ] }, "total_supply": { "type": [ "number", "null" ] }, "show_name": { "type": [ "boolean", "null" ] }, "last_trade_timestamp": { "type": [ "number", "null" ] }, "nsfw": { "type": [ "boolean", "null" ] }, "is_banned": { "type": [ "boolean", "null" ] }, "livestream_ban_expiry": { "type": [ "number", "null" ] }, "is_currently_live": { "type": [ "boolean", "null" ] }, "ath_market_cap": { "type": [ "number", "null" ] }, "ath_market_cap_timestamp": { "type": [ "number", "null" ] }, "hide_banner": { "type": [ "boolean", "null" ] }, "program": { "type": [ "string", "null" ] }, "platform": { "type": [ "string", "null" ] }, "token_program": { "type": [ "string", "null" ] }, "quote_mint": { "type": [ "string", "null" ] }, "base_decimals": { "type": [ "number", "null" ] }, "quote_decimals": { "type": [ "number", "null" ] }, "pool_address": { "type": [ "string", "null" ] }, "is_cashback_enabled": { "type": [ "boolean", "null" ] }, "indexed_by_pump": { "type": [ "boolean", "null" ] }, "tokenized_agent": { "type": [ "boolean", "null" ] }, "chain_id": { "type": [ "string", "null" ] }, "multichain_family": { "type": [ "number", "null" ] }, "protocol": { "type": [ "string", "null" ] }, "is_charity": { "type": [ "boolean", "null" ] }, "total_supply_str": { "type": [ "string", "null" ] }, "market_cap_usd": { "type": [ "number", "null" ] }, "market_cap_quote": { "type": [ "number", "null" ] }, "boost_mode": { "type": [ "string", "null" ] }, "verified": { "type": [ "boolean", "null" ] }, "is_holder_reward": { "type": [ "boolean", "null" ] }, "transfer_fee_bps": { "type": [ "number", "null" ] }, "is_backfill": { "type": [ "boolean", "null" ] }, "transfer_hook_program": { "type": [ "string", "null" ] }, "depth": { "type": [ "number", "null" ] }, "security_verdict": { "type": [ "object", "null" ], "properties": { "verdict": { "type": [ "string", "null" ] }, "scope": { "type": [ "string", "null" ] }, "reasons": { "type": [ "array", "null" ], "items": { "type": [ "string", "null" ] } }, "decided_by": { "type": [ "string", "null" ] }, "provider": { "type": [ "string", "null" ] }, "version": { "type": [ "number", "null" ] }, "updated_at": { "type": [ "number", "null" ] }, "source": { "type": [ "string", "null" ] } } }, "usd_market_cap": { "type": [ "number", "null" ] }, "market_cap": { "type": [ "number", "null" ] }, "volume_1h_usd": { "type": [ "number", "null" ] }, "circulating_supply_str": { "type": [ "string", "null" ] }, "source": { "type": [ "string", "null" ] }, "price_usd": { "type": [ "number", "null" ] }, "recommendation_id": { "type": [ "string", "null" ] }, "recommendation_rank": { "type": [ "number", "null" ] }, "search_priority": { "type": [ "boolean", "null" ] }, "preview": { "type": [ "boolean", "null" ] }, "twitter": { "type": [ "string", "null" ] }, "telegram": { "type": [ "string", "null" ] }, "website": { "type": [ "string", "null" ] }, "canonical_pool_liquidity_usd": { "type": [ "number", "null" ] } } } }, "meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "required": [ "data", "meta" ] }, "example": { "data": [ { "mint": "0x020bfC650A365f8BB26819deAAbF3E21291018b4", "initialized": false, "name": "Cash Cat", "symbol": "CASHCAT", "image_uri": "https://coin-images.coingecko.com/coins/images/102174280/large/cashcat-logo.jpg?1782922765", "twitter": "https://x.com/cashcat_token", "telegram": "https://t.me/cashcat_robinhood", "creator": "0xcdfc08a1c1fbafb355645e5ddc32122e5716ca90", "created_timestamp": 1781812885000, "complete": false, "hidden": false, "website": "https://cashcat.cc/", "show_name": true, "last_trade_timestamp": 1793068399000, "market_cap": 90811022.31692357, "nsfw": false, "is_banned": false, "livestream_ban_expiry": 0, "is_currently_live": false, "ath_market_cap": 988480913727.4153, "ath_market_cap_timestamp": 1790197333000, "hide_banner": false, "quote_mint": "0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73", "base_decimals": 18, "quote_decimals": 18, "pool_address": "0xa92a3df27a00a276183ff7265fd8affa11df1fe8bb23ddfaf13f6c879a3f818b", "is_cashback_enabled": false, "indexed_by_pump": false, "tokenized_agent": false, "chain_id": "eip155:4663", "multichain_family": 2, "protocol": "pons", "is_charity": false, "circulating_supply_str": "987742614992649738461904896", "total_supply_str": "1000000000000000000000000000", "market_cap_usd": 90811022.31692357, "market_cap_quote": 90811022.31692357, "canonical_pool_liquidity_usd": 1312282.824792, "boost_mode": "NONE", "verified": true, "is_holder_reward": false, "is_backfill": false, "security_verdict": { "verdict": "allow", "scope": "all", "reasons": [ "operator_bypass", "trusted_launchpad" ], "decided_by": "bypass", "provider": "none", "version": 40, "updated_at": 1792625689298, "source": "" }, "usd_market_cap": 90811022.31692357, "volume_1h_usd": 47681.20706502009, "source": "indexed", "price_usd": 0.0919379410572453, "recommendation_id": "search:21a7ac01-108b-47ec-9e2e-bee38782123a", "recommendation_rank": 1, "search_priority": true, "preview": true }, { "mint": "HcRLc9VDgjLeK154xDawfb1dmVJ98DoSqcwTHGqiDeJR", "initialized": true, "name": "Anonymous Cat", "symbol": "ZCAT", "description": "Anonymous Cat was launched on StonkFun.", "image_uri": "https://gateway.irys.xyz/7uFsXwyuyzKDiqdda4L2cq3DcpcdRqYhwe4m8ZoVJ1BQ", "metadata_uri": "https://gateway.irys.xyz/GNy6d9dhhEuxFBqKb8Egm5beiRML4fDUS6zuKQuTs7Ys", "bonding_curve": "BTccxxTFi7a9xJTE1exKn38Jgie35s6gNeRxd8DM61Rc", "associated_bonding_curve": "8zLyZyiyXPQmB9UU7cTs7bwiqMHL445AoaB1z7P1GwQE", "creator": "5CEbueQnq1Ym2uSSx2xXds3jQAqT1BDnkA59RZobSPAG", "created_timestamp": 1788132595000, "complete": false, "hidden": false, "total_supply": 1000000000000000000, "show_name": true, "last_trade_timestamp": 1793067559000, "nsfw": false, "is_banned": false, "livestream_ban_expiry": 0, "is_currently_live": false, "ath_market_cap": 183439810.78343496, "ath_market_cap_timestamp": 1788742683000, "hide_banner": false, "program": "stonkfun", "platform": "stonkfun", "token_program": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb", "quote_mint": "A7bdiYdS5GjqGFtxf17ppRHtDKPkkRqbKtR27dxvQXaS", "base_decimals": 9, "quote_decimals": 8, "pool_address": "BTccxxTFi7a9xJTE1exKn38Jgie35s6gNeRxd8DM61Rc", "is_cashback_enabled": false, "indexed_by_pump": false, "tokenized_agent": false, "chain_id": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp", "multichain_family": 1, "protocol": "stonkfun", "is_charity": false, "total_supply_str": "1000000000000000000", "market_cap_usd": 48191748.43911845, "market_cap_quote": 39353.37029576242, "boost_mode": "NONE", "verified": true, "is_holder_reward": false, "transfer_fee_bps": 300, "is_backfill": false, "transfer_hook_program": "", "depth": 0, "security_verdict": { "verdict": "allow", "scope": "all", "reasons": [ "operator_bypass" ], "decided_by": "bypass", "provider": "none", "version": 39, "updated_at": 1793004580697, "source": "" }, "usd_market_cap": 48191748.43911845, "market_cap": 480293.0630570943, "volume_1h_usd": 739.9345904481783, "circulating_supply_str": "1000000000000000000", "source": "indexed", "price_usd": 0.04819174843911845, "recommendation_id": "search:21a7ac01-108b-47ec-9e2e-bee38782123a", "recommendation_rank": 2, "search_priority": true, "preview": true } ], "meta": { "observedAt": 1793068418317, "ageMs": 177, "source": "fresh", "parts": { "search": { "observedAt": 1793068418317, "source": "fresh" } } } } } } }, "400": { "description": "Invalid mint, user or query: { error, message } with error such as invalid_mint, invalid_period, invalid_wallets, rejected (pump.fun refused the parameters) or unknown_parameter (a query key this route does not accept; parameter and allowed name it)" }, "402": { "description": "Payment Required; x4o2-free-key extension describes free key signup and Authorization header" }, "409": { "description": "payment_in_flight: this payment is already being used by another request" }, "429": { "description": "Free key over its limit: minute_quota_exceeded, daily_quota_exceeded (resets 00:00 UTC) or free_tier_paused; honour Retry-After or pay per call; upgrade includes price, networks, payment instructions, discovery, docs and UTC daily reset. Link points to docs. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows" }, "502": { "description": "unavailable: pump.fun answered with an error; retry shortly" }, "503": { "description": "busy or unavailable: temporarily out of upstream capacity; honour Retry-After or pass stale=1" } } ``` - [GET /v1/coins](https://pump.x4o2.com/v1/coins): List pump.fun coins sorted by market cap, creation time, last trade or reply count (0.001 USD via x402) pump.fun's paginated coin list: full coin records sorted by market_cap, created_timestamp, last_trade_timestamp, reply_count or last_reply. Use sort=created_timestamp for new launches, market_cap for the biggest. Paid: 0.001 USDC per call via x402 (Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp)). Unpaid requests receive 402 with payment requirements. Request body: ```json {} ``` Parameters: ```json [ { "name": "maxAge", "in": "query", "required": false, "schema": { "type": "integer", "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "minimum": 0 }, "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "example": "5" }, { "name": "stale", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 returns any cached copy immediately and refreshes in the background", "enum": [ 0, 1 ] }, "description": "1 returns any cached copy immediately and refreshes in the background", "example": "0" }, { "name": "sort", "in": "query", "required": false, "schema": { "type": "string", "description": "Sort key; created_timestamp lists new launches", "enum": [ "market_cap", "created_timestamp", "last_trade_timestamp", "reply_count", "last_reply" ] }, "description": "Sort key; created_timestamp lists new launches", "example": "market_cap" }, { "name": "order", "in": "query", "required": false, "schema": { "type": "string", "description": "Sort order", "enum": [ "ASC", "DESC" ] }, "description": "Sort order", "example": "DESC" }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "description": "Number of entries, 1-100", "minimum": 1, "maximum": 100, "default": 50 }, "description": "Number of entries, 1-100", "example": "50" }, { "name": "offset", "in": "query", "required": false, "schema": { "type": "integer", "description": "Pagination offset", "minimum": 0, "maximum": 100000 }, "description": "Pagination offset", "example": "0" }, { "name": "nsfw", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 includes coins flagged NSFW", "enum": [ 0, 1 ] }, "description": "1 includes coins flagged NSFW", "example": "0" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "mint": { "type": [ "string", "null" ] }, "initialized": { "type": [ "boolean", "null" ] }, "name": { "type": [ "string", "null" ] }, "symbol": { "type": [ "string", "null" ] }, "description": { "type": [ "string", "null" ] }, "image_uri": { "type": [ "string", "null" ] }, "metadata_uri": { "type": [ "string", "null" ] }, "twitter": { "type": [ "string", "null" ] }, "bonding_curve": { "type": [ "string", "null" ] }, "associated_bonding_curve": { "type": [ "string", "null" ] }, "creator": { "type": [ "string", "null" ] }, "created_timestamp": { "type": [ "number", "null" ] }, "complete": { "type": [ "boolean", "null" ] }, "virtual_sol_reserves": { "type": [ "number", "null" ] }, "virtual_token_reserves": { "type": [ "number", "null" ] }, "total_supply": { "type": [ "number", "null" ] }, "website": { "type": [ "string", "null" ] }, "show_name": { "type": [ "boolean", "null" ] }, "last_trade_timestamp": { "type": [ "number", "null" ] }, "market_cap": { "type": [ "number", "null" ] }, "nsfw": { "type": [ "boolean", "null" ] }, "is_banned": { "type": [ "boolean", "null" ] }, "real_sol_reserves": { "type": [ "number", "null" ] }, "real_token_reserves": { "type": [ "number", "null" ] }, "updated_at": { "type": [ "number", "null" ] }, "livestream_ban_expiry": { "type": [ "number", "null" ] }, "reply_count": { "type": [ "number", "null" ] }, "is_currently_live": { "type": [ "boolean", "null" ] }, "ath_market_cap": { "type": [ "number", "null" ] }, "ath_market_cap_timestamp": { "type": [ "number", "null" ] }, "hide_banner": { "type": [ "boolean", "null" ] }, "program": { "type": [ "string", "null" ] }, "token_program": { "type": [ "string", "null" ] }, "mayhem_state": { "type": [ "string", "null" ] }, "quote_mint": { "type": [ "string", "null" ] }, "base_decimals": { "type": [ "number", "null" ] }, "quote_decimals": { "type": [ "number", "null" ] }, "pool_address": { "type": [ "string", "null" ] }, "is_cashback_enabled": { "type": [ "boolean", "null" ] }, "chain_id": { "type": [ "string", "null" ] }, "multichain_family": { "type": [ "number", "null" ] }, "protocol": { "type": [ "string", "null" ] }, "total_supply_str": { "type": [ "string", "null" ] }, "market_cap_usd": { "type": [ "number", "null" ] }, "virtual_quote_reserves": { "type": [ "number", "null" ] }, "real_quote_reserves": { "type": [ "number", "null" ] }, "market_cap_quote": { "type": [ "number", "null" ] }, "boost_mode": { "type": [ "string", "null" ] }, "verified": { "type": [ "boolean", "null" ] }, "quote_token_program": { "type": [ "string", "null" ] }, "is_holder_reward": { "type": [ "boolean", "null" ] }, "transfer_fee_bps": { "type": [ "number", "null" ] }, "transfer_hook_program": { "type": [ "string", "null" ] }, "depth": { "type": [ "number", "null" ] }, "username": { "type": [ "string", "null" ] }, "profile_image": { "type": [ "string", "null" ] }, "usd_market_cap": { "type": [ "number", "null" ] } } } }, "meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "required": [ "data", "meta" ] }, "example": { "data": [ { "mint": "9piDKoH2b8jyFc2jhRmhWLiki7FDr4Se2AMD6iXKpump", "initialized": true, "name": "Cornell", "symbol": "Cornell", "image_uri": "https://ipfs.io/ipfs/bafkreia5xlhi4codgm2a6fo3dlbbh4lpgmjzlugvs3lurdi2qrattox4y4", "metadata_uri": "https://ipfs.io/ipfs/QmRGywfyv1KVNA77xoEYpz3Wp1njZWjpjR5U6X5jvwMt6b", "bonding_curve": "2rMZBjZ6P8AUjgBn5KsnkikdMqbejTbmjr7TG9MxYyTY", "associated_bonding_curve": "3HX4K1aXNUpnpBGx58bq6n9SAQ9fEnYEquMjsM7k9Z7Q", "creator": "CuDe51GPh5qGsmYBJDxSsufhQQhA618uDbkaXFZ4pztL", "created_timestamp": 1793068417000, "complete": false, "virtual_sol_reserves": 33045658580, "virtual_token_reserves": 893750224209883, "total_supply": 1000000000000000, "show_name": true, "last_trade_timestamp": 1793068417000, "market_cap": 36.97415417066206, "nsfw": false, "is_banned": false, "real_sol_reserves": 6016774183, "real_token_reserves": 613850224209883, "updated_at": 1793068418, "livestream_ban_expiry": 0, "reply_count": 0, "is_currently_live": false, "ath_market_cap": 4227.631116940714, "ath_market_cap_timestamp": 1793068416000, "hide_banner": false, "program": "pump", "token_program": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb", "mayhem_state": "enabled", "quote_mint": "11111111111111111111111111111111", "base_decimals": 6, "quote_decimals": 9, "pool_address": "D8mbUWMspMJGt8PxvVwRytM3CMQprRmtc6E47bCiqr14", "is_cashback_enabled": false, "chain_id": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp", "multichain_family": 1, "protocol": "pump", "total_supply_str": "1000000000000000", "market_cap_usd": 3709.736654548766, "virtual_quote_reserves": 33045658580, "real_quote_reserves": 6016774183, "market_cap_quote": 36.97415417066206, "boost_mode": "NONE", "verified": false, "quote_token_program": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "is_holder_reward": false, "transfer_fee_bps": 0, "transfer_hook_program": "", "depth": 0, "username": "Henrys0x", "profile_image": "https://socialimages.pump.fun/profile-images/82ba7461-0d34-446e-9230-15ab674b0675/16698dcb-7408-4c19-91f2-9143a059a6a8", "usd_market_cap": 3709.736654548766 }, { "mint": "8arSwKjZCEmhD7FU1uDYVqHdu9gJ5F16V1mFFaKfpump", "initialized": true, "name": "Magic Eden", "symbol": "MAGICEDEN", "description": "Magic Eden is the leading Solana NFT Marketplace. Buy, sell, and discover NFTs from top creators. Enjoy bulk NFT list...", "image_uri": "https://ipfs.io/ipfs/bafkreidteadaff62ysg5ba4y6qizp4oe2dpfpnud7jbskno63jlzdx3t7a", "metadata_uri": "https://ipfs.io/ipfs/QmfZSPAUC6RGhUBm1nTxkFydH87FgS3NRz4nbaDUAiGECd", "twitter": "https://x.com/magiceden?s=11", "bonding_curve": "CzqMJtQX8jVrkx4kpZnP46MtgddkqTAtbpGp7WSL1Sm3", "associated_bonding_curve": "AzT5AY41x5JMEGWQrpzo3n3PqoaK31Tg1hxJzpFKtLZx", "creator": "473v2ovKSvQYYyhtQrFFYcq333oPZNcsdg26dpiysK5z", "created_timestamp": 1793068413000, "complete": false, "virtual_sol_reserves": 22509283296, "virtual_token_reserves": 1069281097270229, "total_supply": 1000000000000000, "website": "https://magiceden.io/", "show_name": true, "last_trade_timestamp": 1793068417000, "market_cap": 21.050856835928382, "nsfw": false, "is_banned": false, "real_sol_reserves": 86120368, "real_token_reserves": 789381097270229, "updated_at": 1793068418, "livestream_ban_expiry": 0, "reply_count": 0, "is_currently_live": false, "ath_market_cap": 3133.121126770072, "ath_market_cap_timestamp": 1793068413000, "hide_banner": false, "program": "pump", "token_program": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb", "mayhem_state": "active", "quote_mint": "11111111111111111111111111111111", "base_decimals": 6, "quote_decimals": 9, "pool_address": "EhHemMh7htoC3ZQ4hasP3tzvCBTvYLXfGa3bMJ9B2roJ", "is_cashback_enabled": false, "chain_id": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp", "multichain_family": 1, "protocol": "pump", "total_supply_str": "1000000000000000", "market_cap_usd": 2112.1006542420555, "virtual_quote_reserves": 22509283296, "real_quote_reserves": 86120368, "market_cap_quote": 21.050856835928382, "boost_mode": "NONE", "verified": false, "quote_token_program": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "is_holder_reward": false, "transfer_fee_bps": 0, "transfer_hook_program": "", "depth": 0, "username": "kingphan", "profile_image": "https://socialimages.pump.fun/profile-images/622d1c08-c4fe-4ccf-a13d-324624f8f3ad/a7f3397b-5d0e-4de5-88e1-8b8eec5dfe6b", "usd_market_cap": 2112.1006542420555 } ], "meta": { "observedAt": 1793068418495, "ageMs": 37, "source": "fresh", "parts": { "coins": { "observedAt": 1793068418495, "source": "fresh" } } } } } } }, "400": { "description": "Invalid mint, user or query: { error, message } with error such as invalid_mint, invalid_period, invalid_wallets, rejected (pump.fun refused the parameters) or unknown_parameter (a query key this route does not accept; parameter and allowed name it)" }, "402": { "description": "Payment Required; x4o2-free-key extension describes free key signup and Authorization header" }, "409": { "description": "payment_in_flight: this payment is already being used by another request" }, "429": { "description": "Free key over its limit: minute_quota_exceeded, daily_quota_exceeded (resets 00:00 UTC) or free_tier_paused; honour Retry-After or pay per call; upgrade includes price, networks, payment instructions, discovery, docs and UTC daily reset. Link points to docs. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows" }, "502": { "description": "unavailable: pump.fun answered with an error; retry shortly" }, "503": { "description": "busy or unavailable: temporarily out of upstream capacity; honour Retry-After or pass stale=1" } } ``` - [GET /v1/leaderboard](https://pump.x4o2.com/v1/leaderboard): pump.fun P&L leaderboard: top wallets by realized and unrealized profit over a period (0.001 USD via x402) pump.fun's trader leaderboard: rank, wallet, username, P&L in SOL and USD, percent return, buy spend, realized and unrealized split, for the daily, weekly or monthly period (pump.fun has no all-time board). The top 100 per period is all there is: no paging, no per-wallet rank lookup. Also returns the SOL price. include=evm adds each trader's EVM and Solana wallets from their profile in one extra call. Use to find the best-performing traders to follow. Paid: 0.001 USDC per call via x402 (Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp)). Unpaid requests receive 402 with payment requirements. Request body: ```json {} ``` Parameters: ```json [ { "name": "maxAge", "in": "query", "required": false, "schema": { "type": "integer", "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "minimum": 0 }, "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "example": "5" }, { "name": "stale", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 returns any cached copy immediately and refreshes in the background", "enum": [ 0, 1 ] }, "description": "1 returns any cached copy immediately and refreshes in the background", "example": "0" }, { "name": "period", "in": "query", "required": false, "schema": { "type": "string", "description": "Leaderboard period", "enum": [ "daily", "weekly", "monthly" ] }, "description": "Leaderboard period", "example": "daily" }, { "name": "sort", "in": "query", "required": false, "schema": { "type": "string", "description": "Rank by", "enum": [ "combined", "realized", "unrealized", "percent" ] }, "description": "Rank by", "example": "combined" }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "description": "Number of entries, 1-100", "minimum": 1, "maximum": 100, "default": 100 }, "description": "Number of entries, 1-100", "example": "100" }, { "name": "include", "in": "query", "required": false, "schema": { "type": "string", "description": "Comma-separated extras: evm (adds evmAddress and svmAddress to every entry from pump.fun's user profiles, one extra upstream call)" }, "description": "Comma-separated extras: evm (adds evmAddress and svmAddress to every entry from pump.fun's user profiles, one extra upstream call)", "example": "evm" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": [ "object", "null" ], "properties": { "leaderboard": { "type": [ "object", "null" ], "properties": { "entries": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "rank": { "type": [ "number", "null" ] }, "walletAddress": { "type": [ "string", "null" ] }, "pnlSol": { "type": [ "number", "null" ] }, "pnlUsd": { "type": [ "number", "null" ] }, "pnlPercent": { "type": [ "number", "null" ] }, "buySpendSol": { "type": [ "number", "null" ] }, "lastRefreshedAtMs": { "type": [ "number", "null" ] }, "realizedPnlSol": { "type": [ "number", "null" ] }, "realizedPnlUsd": { "type": [ "number", "null" ] }, "unrealizedPnlSol": { "type": [ "number", "null" ] }, "unrealizedPnlUsd": { "type": [ "number", "null" ] }, "positionsCount": { "type": [ "number", "null" ] }, "topPositions": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ] } }, "username": { "type": [ "string", "null" ] }, "profileImage": { "type": [ "string", "null" ] }, "xUsername": { "type": [ "string", "null" ] }, "isVerified": { "type": [ "boolean", "null" ] }, "verifiedBadgeVisible": { "type": [ "boolean", "null" ] }, "userId": { "type": [ "string", "null" ] }, "resolvedAvatarDecoration": { "type": [ "string", "null" ] }, "evmAddress": { "type": [ "string", "null" ] }, "svmAddress": { "type": [ "string", "null" ] } } } }, "periodType": { "type": [ "number", "null" ] }, "periodLabel": { "type": [ "string", "null" ] }, "windowStartSec": { "type": [ "number", "null" ] } } }, "solPrice": { "type": [ "object", "null" ], "properties": { "solPrice": { "type": [ "number", "null" ] }, "asOfTimestamp": { "type": [ "number", "null" ] }, "stale": { "type": [ "boolean", "null" ] } } } } }, "meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "required": [ "data", "meta" ] }, "example": { "data": { "leaderboard": { "entries": [ { "rank": 1, "walletAddress": "9BMzTpSo4URse1oN666pmexhdjpU1vA5p7LtroCFQdLU", "pnlSol": 1270.9641960483566, "pnlUsd": 127570.16656994581, "pnlPercent": 10.379484819639345, "buySpendSol": 4.039591310369118, "lastRefreshedAtMs": 1793068401966, "realizedPnlSol": 0, "realizedPnlUsd": 0, "unrealizedPnlSol": 1270.9641960483566, "unrealizedPnlUsd": 127570.16656994581, "positionsCount": 48, "topPositions": [ { "mint": "HuAXPyDWDaMYFKuwQHpqL1oPnj93zdzWmtvFGzCeCUa7", "chainId": 1399811149, "symbol": "MASK", "name": "Nullmask", "imageUri": "https://gateway.irys.xyz/7Dbdj8EPHEmf3bmRGnZMdeYTbDcKy7qGwrpDuqVzeKii" }, { "mint": "BCdwQBAn8dYB5YjTsoB6TdHAWokxv28k2oZUodERpump", "chainId": 1399811149, "symbol": "MANIFEST", "name": "Manifesting", "imageUri": "https://ipfs.io/ipfs/bafybeiemtmaqq2y7onn2lstwe53ofrlnvlhw5ika3uynqtqqzp3aqngy4a" } ], "username": "Aurelius", "profileImage": "https://socialimages.pump.fun/profile-images/33b4317c-3a2f-4027-be28-34fe8db86494/29feff3b-484e-4c04-b279-077efb6cabc9", "xUsername": "Aurelius0121", "isVerified": true, "verifiedBadgeVisible": false, "userId": "33b4317c-3a2f-4027-be28-34fe8db86494", "resolvedAvatarDecoration": "achievement:first-place", "evmAddress": "0x59037711e48a02c812f7dcf15bb7f9a1c51832b1", "svmAddress": "9BMzTpSo4URse1oN666pmexhdjpU1vA5p7LtroCFQdLU" }, { "rank": 2, "walletAddress": "EwJYY4q2rcrdEH26doRbYX9JxbpYPSNZvRLgzhPKi418", "pnlSol": 1061.6520043193477, "pnlUsd": 106536.77863344653, "pnlPercent": 15.134986344499387, "buySpendSol": 41.045815596447085, "lastRefreshedAtMs": 1793068256870, "realizedPnlSol": -0.13746077239286372, "realizedPnlUsd": -13.794188509623874, "unrealizedPnlSol": 1061.7894650917406, "unrealizedPnlUsd": 106550.57282195616, "positionsCount": 3, "topPositions": [ { "mint": "HuAXPyDWDaMYFKuwQHpqL1oPnj93zdzWmtvFGzCeCUa7", "chainId": 1399811149, "symbol": "MASK", "name": "Nullmask", "imageUri": "https://gateway.irys.xyz/7Dbdj8EPHEmf3bmRGnZMdeYTbDcKy7qGwrpDuqVzeKii" }, { "mint": "GM8EysYT8NRSsoULdeYShbRsUdhoUoiB9EN4eW3YETCH", "chainId": 1399811149, "symbol": "ETCHY", "name": "Etchy", "imageUri": "https://ipfs.io/ipfs/bafkreibzjuwqxdanqicwaha6toj6pwuncmcoeyhf4wksuueh2rsv4ivway" } ], "username": "heat", "profileImage": "https://socialimages.pump.fun/profile-images/df07bffb-d0fd-47db-b7a5-8ee87b463f28/6101a1b4-dc4a-4014-8759-8f164e646c67", "xUsername": "heat", "isVerified": true, "verifiedBadgeVisible": false, "userId": "df07bffb-d0fd-47db-b7a5-8ee87b463f28", "resolvedAvatarDecoration": "achievement:first-place", "evmAddress": "0x598508c237045821f2b915a56afee519b60bac41", "svmAddress": "EwJYY4q2rcrdEH26doRbYX9JxbpYPSNZvRLgzhPKi418" } ], "periodType": 3, "periodLabel": "24h", "windowStartSec": 1792980000 }, "solPrice": { "solPrice": 100.328239198, "asOfTimestamp": 1793068399379, "stale": false } }, "meta": { "observedAt": 1793068404109, "ageMs": 14487, "source": "fresh", "parts": { "leaderboard": { "observedAt": 1793068418533, "source": "fresh" }, "solPrice": { "observedAt": 1793068404109, "source": "cache" }, "usersBatch": { "observedAt": 1793068418565, "source": "fresh" } } } } } } }, "400": { "description": "Invalid mint, user or query: { error, message } with error such as invalid_mint, invalid_period, invalid_wallets, rejected (pump.fun refused the parameters) or unknown_parameter (a query key this route does not accept; parameter and allowed name it)" }, "402": { "description": "Payment Required; x4o2-free-key extension describes free key signup and Authorization header" }, "409": { "description": "payment_in_flight: this payment is already being used by another request" }, "429": { "description": "Free key over its limit: minute_quota_exceeded, daily_quota_exceeded (resets 00:00 UTC) or free_tier_paused; honour Retry-After or pay per call; upgrade includes price, networks, payment instructions, discovery, docs and UTC daily reset. Link points to docs. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows" }, "502": { "description": "unavailable: pump.fun answered with an error; retry shortly" }, "503": { "description": "busy or unavailable: temporarily out of upstream capacity; honour Retry-After or pass stale=1" } } ``` - [GET /v1/users](https://pump.x4o2.com/v1/users): Up to 100 pump.fun user profiles by wallet in one call, with EVM and Solana wallets (0.001 USD via x402) The public profiles of up to 100 pump.fun users by wallet address in one upstream call: user id, username, bio, follower counts, X handle, badges, and each user's canonical Solana and EVM wallets (evmAddress is null when they have linked none). wallets not known to pump.fun are listed in notFound. The cheap way to get EVM addresses for many wallets at once, e.g. the wallets from /holders, /traders or /leaderboard. Paid: 0.001 USDC per call via x402 (Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp)). Unpaid requests receive 402 with payment requirements. Request body: ```json {} ``` Parameters: ```json [ { "name": "maxAge", "in": "query", "required": false, "schema": { "type": "integer", "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "minimum": 0 }, "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "example": "5" }, { "name": "stale", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 returns any cached copy immediately and refreshes in the background", "enum": [ 0, 1 ] }, "description": "1 returns any cached copy immediately and refreshes in the background", "example": "0" }, { "name": "wallets", "in": "query", "required": false, "schema": { "type": "string", "description": "Comma-separated wallet addresses (base58), 1-100" }, "description": "Comma-separated wallet addresses (base58), 1-100", "example": "2M2vLX34LXMg24dMEnjWHvRXS1tshpEDRWzmXgV8ENNZ,4Bc4Ue2G37zoQCiksAvwMgXQQJFKcYQThnoHPKizAmWB" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": [ "object", "null" ], "properties": { "users": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "address": { "type": [ "string", "null" ] }, "userId": { "type": [ "string", "null" ] }, "is_pump_user": { "type": [ "boolean", "null" ] }, "is_banned": { "type": [ "boolean", "null" ] }, "username": { "type": [ "string", "null" ] }, "profile_image": { "type": [ "string", "null" ] }, "avatar_decoration": {}, "resolved_avatar_decoration": { "type": [ "string", "null" ] }, "bio": { "type": [ "string", "null" ] }, "followers": { "type": [ "number", "null" ] }, "following": { "type": [ "number", "null" ] }, "x_username": { "type": [ "string", "null" ] }, "canonical_svm_wallet": { "type": [ "string", "null" ] }, "canonical_evm_wallet": { "type": [ "string", "null" ] }, "group_badges": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "group_id": { "type": [ "string", "null" ] }, "username": { "type": [ "string", "null" ] }, "profile_image_url": { "type": [ "string", "null" ] }, "role": { "type": [ "string", "null" ] } } } }, "active_competition_entry": {}, "evmAddress": { "type": [ "string", "null" ] }, "svmAddress": { "type": [ "string", "null" ] } } } }, "notFound": { "type": [ "array", "null" ] } } }, "meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "required": [ "data", "meta" ] }, "example": { "data": { "users": [ { "address": "2M2vLX34LXMg24dMEnjWHvRXS1tshpEDRWzmXgV8ENNZ", "userId": "f779e161-0f93-49ec-b763-2142854fd005", "is_pump_user": true, "is_banned": false, "username": "SossaDotKek", "profile_image": "https://socialimages.pump.fun/profile-images/2M2vLX34LXMg24dMEnjWHvRXS1tshpEDRWzmXgV8ENNZ/1483b61e-df0d-4b93-a3d4-161...", "avatar_decoration": null, "resolved_avatar_decoration": "epic", "bio": "Hodler by nature", "followers": 162027, "following": 7, "x_username": "GeoffO7", "canonical_svm_wallet": "2M2vLX34LXMg24dMEnjWHvRXS1tshpEDRWzmXgV8ENNZ", "canonical_evm_wallet": "0x452a3eb1ba7ffab825ba4529a8b6a3cf9536cc9a", "group_badges": [ { "group_id": "2200eed3-6b3d-4115-9512-e4b43c839121", "username": "CATEVENGERS", "profile_image_url": "https://socialimages.pump.fun/profile-images/f779e161-0f93-49ec-b763-2142854fd005/d56f4848-b7a9-4157-9607-7856a680d6b5", "role": "OWNER" } ], "active_competition_entry": null, "evmAddress": "0x452a3eb1ba7ffab825ba4529a8b6a3cf9536cc9a", "svmAddress": "2M2vLX34LXMg24dMEnjWHvRXS1tshpEDRWzmXgV8ENNZ" }, { "address": "4Bc4Ue2G37zoQCiksAvwMgXQQJFKcYQThnoHPKizAmWB", "userId": "b393b3ef-83f6-4d57-a1c5-8aad737bc572", "is_pump_user": true, "is_banned": false, "username": "vvvvvvvvvv1", "profile_image": "https://socialimages.pump.fun/profile-images/pumpatar/2/Cyan~Body-3-Green~Face-5~Sunglasses~Hairstyle-3-grey~Empty+2~...", "avatar_decoration": null, "resolved_avatar_decoration": null, "bio": null, "followers": 14377, "following": 3, "x_username": null, "canonical_svm_wallet": "4Bc4Ue2G37zoQCiksAvwMgXQQJFKcYQThnoHPKizAmWB", "canonical_evm_wallet": "0x26cca58075c406ed7c5911e196e0bcbfa38d44ab", "group_badges": [ { "group_id": "233cfbe4-c989-41ac-a880-4364dba3e18e", "username": "fnf_", "profile_image_url": "https://socialimages.pump.fun/profile-images/b393b3ef-83f6-4d57-a1c5-8aad737bc572/246b7a68-a500-402b-b8c6-16de42101e22", "role": "OWNER" } ], "active_competition_entry": null, "evmAddress": "0x26cca58075c406ed7c5911e196e0bcbfa38d44ab", "svmAddress": "4Bc4Ue2G37zoQCiksAvwMgXQQJFKcYQThnoHPKizAmWB" } ], "notFound": [] }, "meta": { "observedAt": 1793068404036, "ageMs": 14561, "source": "cache", "parts": { "usersBatch": { "observedAt": 1793068404036, "source": "cache" } } } } } } }, "400": { "description": "Invalid mint, user or query: { error, message } with error such as invalid_mint, invalid_period, invalid_wallets, rejected (pump.fun refused the parameters) or unknown_parameter (a query key this route does not accept; parameter and allowed name it)" }, "402": { "description": "Payment Required; x4o2-free-key extension describes free key signup and Authorization header" }, "409": { "description": "payment_in_flight: this payment is already being used by another request" }, "429": { "description": "Free key over its limit: minute_quota_exceeded, daily_quota_exceeded (resets 00:00 UTC) or free_tier_paused; honour Retry-After or pay per call; upgrade includes price, networks, payment instructions, discovery, docs and UTC daily reset. Link points to docs. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows" }, "502": { "description": "unavailable: pump.fun answered with an error; retry shortly" }, "503": { "description": "busy or unavailable: temporarily out of upstream capacity; honour Retry-After or pass stale=1" } } ``` - [GET /v1/user/{user}](https://pump.x4o2.com/v1/user/{user}): A pump.fun user's profile by wallet or user id; optionally portfolio, P&L summary, balances, created coins, followers, following, achievements (0.001 USD via x402) The public profile of one pump.fun user (wallet address, user id, username, bio, follower counts, creation stats) plus their overview. Add include= with any of portfolio (open positions with P&L), summary (period P&L; period=1d|1w|1m|all), balance (wallet value and token balances), created (coins they launched), followers, following, achievements. Use to evaluate a trader seen in holders, traders or the leaderboard. Paid: 0.001 USDC per call via x402 (Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp)). Unpaid requests receive 402 with payment requirements. Request body: ```json {} ``` Parameters: ```json [ { "name": "user", "in": "path", "required": true, "schema": { "type": "string", "description": "Wallet address (base58) or pump.fun user id (uuid)" }, "description": "Wallet address (base58) or pump.fun user id (uuid)", "example": "2M2vLX34LXMg24dMEnjWHvRXS1tshpEDRWzmXgV8ENNZ" }, { "name": "maxAge", "in": "query", "required": false, "schema": { "type": "integer", "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "minimum": 0 }, "description": "Serve a cached copy up to this many seconds old; 0 forces the freshest allowed", "example": "5" }, { "name": "stale", "in": "query", "required": false, "schema": { "type": "integer", "description": "1 returns any cached copy immediately and refreshes in the background", "enum": [ 0, 1 ] }, "description": "1 returns any cached copy immediately and refreshes in the background", "example": "0" }, { "name": "include", "in": "query", "required": false, "schema": { "type": "string", "description": "Comma-separated extras: portfolio, summary, balance, created, followers, following, achievements" }, "description": "Comma-separated extras: portfolio, summary, balance, created, followers, following, achievements", "example": "portfolio,summary" }, { "name": "period", "in": "query", "required": false, "schema": { "type": "string", "description": "P&L period for include=summary", "enum": [ "1d", "1w", "1m", "all" ] }, "description": "P&L period for include=summary", "example": "1d" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": [ "object", "null" ], "properties": { "user": { "type": [ "object", "null" ], "properties": { "address": { "type": [ "string", "null" ] }, "userId": { "type": [ "string", "null" ] }, "is_pump_user": { "type": [ "boolean", "null" ] }, "is_banned": { "type": [ "boolean", "null" ] }, "username": { "type": [ "string", "null" ] }, "profile_image": { "type": [ "string", "null" ] }, "header_image_url": { "type": [ "string", "null" ] }, "avatar_decoration": {}, "resolved_avatar_decoration": { "type": [ "string", "null" ] }, "kind": { "type": [ "string", "null" ] }, "member_count": { "type": [ "number", "null" ] }, "active_competition_entry": {}, "last_username_update_timestamp": { "type": [ "number", "null" ] }, "following": { "type": [ "number", "null" ] }, "followers": { "type": [ "number", "null" ] }, "bio": { "type": [ "string", "null" ] }, "x_username": { "type": [ "string", "null" ] }, "canonical_svm_wallet": { "type": [ "string", "null" ] }, "canonical_evm_wallet": { "type": [ "string", "null" ] }, "group_badges": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "group_id": { "type": [ "string", "null" ] }, "username": { "type": [ "string", "null" ] }, "profile_image_url": { "type": [ "string", "null" ] }, "role": { "type": [ "string", "null" ] } } } } } }, "overview": { "type": [ "object", "null" ], "properties": { "address": { "type": [ "string", "null" ] }, "profile": { "type": [ "object", "null" ], "properties": { "address": { "type": [ "string", "null" ] }, "userId": { "type": [ "string", "null" ] }, "is_pump_user": { "type": [ "boolean", "null" ] }, "is_banned": { "type": [ "boolean", "null" ] }, "username": { "type": [ "string", "null" ] }, "profile_image": { "type": [ "string", "null" ] }, "header_image_url": { "type": [ "string", "null" ] }, "avatar_decoration": {}, "resolved_avatar_decoration": { "type": [ "string", "null" ] }, "kind": { "type": [ "string", "null" ] }, "member_count": { "type": [ "number", "null" ] }, "active_competition_entry": {}, "last_username_update_timestamp": { "type": [ "number", "null" ] }, "following": { "type": [ "number", "null" ] }, "followers": { "type": [ "number", "null" ] }, "bio": { "type": [ "string", "null" ] }, "x_username": { "type": [ "string", "null" ] }, "canonical_svm_wallet": { "type": [ "string", "null" ] }, "canonical_evm_wallet": { "type": [ "string", "null" ] }, "group_badges": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "group_id": { "type": [ "string", "null" ] }, "username": { "type": [ "string", "null" ] }, "profile_image_url": { "type": [ "string", "null" ] }, "role": { "type": [ "string", "null" ] } } } } } }, "isPumpUser": { "type": [ "boolean", "null" ] }, "counts": { "type": [ "object", "null" ], "properties": { "followers": { "type": [ "number", "null" ] }, "following": { "type": [ "number", "null" ] } } }, "verified": { "type": [ "boolean", "null" ] }, "achievementBadgeIds": { "type": [ "array", "null" ], "items": { "type": [ "string", "null" ] } }, "banned": { "type": [ "boolean", "null" ] }, "createdCoinsCount": { "type": [ "number", "null" ] }, "degraded": { "type": [ "array", "null" ] } } }, "portfolio": { "type": [ "object", "null" ], "properties": { "positions": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "coinMint": { "type": [ "string", "null" ] }, "chainId": { "type": [ "number", "null" ] }, "isExited": { "type": [ "boolean", "null" ] }, "walletAddress": { "type": [ "string", "null" ] }, "amountHeld": { "type": [ "number", "null" ] }, "pnlUsd": { "type": [ "number", "null" ] }, "pnlPercentage": { "type": [ "number", "null" ] }, "costBasisAmount": { "type": [ "number", "null" ] }, "costBasisUsd": { "type": [ "number", "null" ] }, "amountBoughtUsd": { "type": [ "number", "null" ] }, "amountBought": { "type": [ "number", "null" ] }, "callout": { "type": [ "object", "null" ], "properties": { "calloutId": { "type": [ "string", "null" ] }, "chain": {}, "assetClass": { "type": [ "string", "null" ] }, "perp": {}, "calledOutAtMcap": { "type": [ "number", "null" ] }, "multiple": { "type": [ "number", "null" ] }, "thesis": { "type": [ "string", "null" ] }, "mediaUrl": {}, "calloutTimestamp": { "type": [ "string", "null" ] }, "likes": { "type": [ "number", "null" ] }, "hasLiked": {}, "updates": { "type": [ "array", "null" ] }, "updateCount": { "type": [ "number", "null" ] }, "commentCount": { "type": [ "number", "null" ] }, "replyCount": { "type": [ "number", "null" ] }, "maxMultiplier": { "type": [ "number", "null" ] }, "maxMultiplierAt": { "type": [ "string", "null" ] }, "calloutPrice": { "type": [ "number", "null" ] }, "repostCount": { "type": [ "number", "null" ] }, "quoteCount": { "type": [ "number", "null" ] }, "hasReposted": {}, "viewCount": { "type": [ "number", "null" ] }, "quotedCalloutId": {}, "quotedCallout": {}, "actingUserId": {}, "actingUser": {} } }, "hasTransfers": { "type": [ "boolean", "null" ] }, "likelyLost": { "type": [ "boolean", "null" ] }, "hasUntrustedUsdBasis": { "type": [ "boolean", "null" ] }, "hasUntrustedSolBasis": { "type": [ "boolean", "null" ] }, "valueUsd": { "type": [ "number", "null" ] }, "tokenPriceUsd": { "type": [ "number", "null" ] }, "realizedPnlUsd": { "type": [ "number", "null" ] }, "updatedAt": { "type": [ "string", "null" ] }, "lastSlotIndexId": { "type": [ "string", "null" ] }, "potentialSpam": { "type": [ "boolean", "null" ] }, "userMarkedNonSpam": { "type": [ "boolean", "null" ] }, "dustFloorFiltered": { "type": [ "boolean", "null" ] }, "isNative": { "type": [ "boolean", "null" ] }, "coin": { "type": [ "object", "null" ], "properties": { "name": { "type": [ "string", "null" ] }, "symbol": { "type": [ "string", "null" ] }, "imageUri": { "type": [ "string", "null" ] }, "marketCapUsd": { "type": [ "number", "null" ] }, "totalSupply": { "type": [ "number", "null" ] }, "protocol": { "type": [ "string", "null" ] }, "platform": {}, "program": { "type": [ "string", "null" ] } } } } } }, "summary": { "type": [ "object", "null" ], "properties": { "positionCount": { "type": [ "number", "null" ] }, "hlAccount": { "type": [ "string", "null" ] } } }, "updatesApplied": { "type": [ "boolean", "null" ] } } }, "summary": { "type": [ "object", "null" ], "properties": { "wallet": { "type": [ "string", "null" ] }, "from": { "type": [ "number", "null" ] }, "to": { "type": [ "number", "null" ] }, "pnl": { "type": [ "object", "null" ], "properties": { "sol": { "type": [ "number", "null" ] }, "usd": { "type": [ "number", "null" ] } } }, "realizedPnl": { "type": [ "object", "null" ], "properties": { "sol": { "type": [ "number", "null" ] }, "usd": { "type": [ "number", "null" ] } } }, "unrealizedPnl": { "type": [ "object", "null" ], "properties": { "sol": { "type": [ "number", "null" ] }, "usd": { "type": [ "number", "null" ] } } }, "percentage": { "type": [ "object", "null" ], "properties": { "sol": { "type": [ "number", "null" ] }, "usd": { "type": [ "number", "null" ] } } }, "totalBuySpend": { "type": [ "object", "null" ], "properties": { "sol": { "type": [ "number", "null" ] }, "usd": { "type": [ "number", "null" ] } } }, "heldOpenValue": { "type": [ "object", "null" ], "properties": { "sol": { "type": [ "number", "null" ] }, "usd": { "type": [ "number", "null" ] } } }, "maxCapitalDeployed": { "type": [ "object", "null" ], "properties": { "sol": { "type": [ "number", "null" ] }, "usd": { "type": [ "number", "null" ] } } }, "equityAtWindowStart": { "type": [ "object", "null" ], "properties": { "sol": {}, "usd": {} } }, "missingPriceMints": { "type": [ "array", "null" ], "items": { "type": [ "string", "null" ] } }, "tokenCount": { "type": [ "number", "null" ] }, "tradePercentage": { "type": [ "object", "null" ], "properties": { "sol": { "type": [ "number", "null" ] }, "usd": { "type": [ "number", "null" ] } } }, "totalValueUsd": { "type": [ "number", "null" ] }, "solPriceUsd": { "type": [ "number", "null" ] }, "nativeBalanceSol": { "type": [ "number", "null" ] }, "cache": { "type": [ "object", "null" ], "properties": { "filledAtMs": { "type": [ "number", "null" ] }, "ttlSeconds": { "type": [ "number", "null" ] } } }, "computedAt": { "type": [ "number", "null" ] }, "evmAddress": { "type": [ "string", "null" ] } } }, "balance": { "type": [ "object", "null" ], "properties": { "success": { "type": [ "boolean", "null" ] }, "data": { "type": [ "object", "null" ], "properties": { "total_value": { "type": [ "number", "null" ] }, "native_balance": { "type": [ "number", "null" ] }, "native_lamports": { "type": [ "number", "null" ] }, "wrapped_sol_balance": { "type": [ "number", "null" ] }, "sol_price": { "type": [ "number", "null" ] }, "token_count": { "type": [ "number", "null" ] }, "dust_count": { "type": [ "number", "null" ] }, "dust_value_usd": { "type": [ "number", "null" ] }, "hidden_count": { "type": [ "number", "null" ] }, "hidden_value_usd": { "type": [ "number", "null" ] }, "last_update_ts": { "type": [ "number", "null" ] }, "portfolioPnL": { "type": [ "object", "null" ], "properties": { "total_cost_basis_usd": { "type": [ "number", "null" ] }, "total_unrealized_usd": { "type": [ "number", "null" ] }, "total_percentage": { "type": [ "number", "null" ] } } } } } } }, "created": {}, "followers": {}, "following": {}, "achievements": {} } }, "meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "required": [ "data", "meta" ] }, "example": { "data": { "user": { "address": "2M2vLX34LXMg24dMEnjWHvRXS1tshpEDRWzmXgV8ENNZ", "userId": "f779e161-0f93-49ec-b763-2142854fd005", "is_pump_user": true, "is_banned": false, "username": "SossaDotKek", "profile_image": "https://socialimages.pump.fun/profile-images/2M2vLX34LXMg24dMEnjWHvRXS1tshpEDRWzmXgV8ENNZ/1483b61e-df0d-4b93-a3d4-161...", "header_image_url": "https://images.pump.fun/6b0fc278-d541-400d-48d8-5d5bd2232300?variant=profiles", "avatar_decoration": null, "resolved_avatar_decoration": "epic", "kind": "person", "member_count": 0, "active_competition_entry": null, "last_username_update_timestamp": 1786803263858, "following": 7, "followers": 162027, "bio": "Hodler by nature", "x_username": "GeoffO7", "canonical_svm_wallet": "2M2vLX34LXMg24dMEnjWHvRXS1tshpEDRWzmXgV8ENNZ", "canonical_evm_wallet": "0x452a3eb1ba7ffab825ba4529a8b6a3cf9536cc9a", "group_badges": [ { "group_id": "2200eed3-6b3d-4115-9512-e4b43c839121", "username": "CATEVENGERS", "profile_image_url": "https://socialimages.pump.fun/profile-images/f779e161-0f93-49ec-b763-2142854fd005/d56f4848-b7a9-4157-9607-7856a680d6b5", "role": "OWNER" } ] }, "overview": { "address": "f779e161-0f93-49ec-b763-2142854fd005", "profile": { "address": "2M2vLX34LXMg24dMEnjWHvRXS1tshpEDRWzmXgV8ENNZ", "userId": "f779e161-0f93-49ec-b763-2142854fd005", "is_pump_user": true, "is_banned": false, "username": "SossaDotKek", "profile_image": "https://socialimages.pump.fun/profile-images/2M2vLX34LXMg24dMEnjWHvRXS1tshpEDRWzmXgV8ENNZ/1483b61e-df0d-4b93-a3d4-161...", "header_image_url": "https://images.pump.fun/6b0fc278-d541-400d-48d8-5d5bd2232300?variant=profiles", "avatar_decoration": null, "resolved_avatar_decoration": "epic", "kind": "person", "member_count": 0, "active_competition_entry": null, "last_username_update_timestamp": 1786803263858, "following": 7, "followers": 162027, "bio": "Hodler by nature", "x_username": "GeoffO7", "canonical_svm_wallet": "2M2vLX34LXMg24dMEnjWHvRXS1tshpEDRWzmXgV8ENNZ", "canonical_evm_wallet": "0x452a3eb1ba7ffab825ba4529a8b6a3cf9536cc9a", "group_badges": [ { "group_id": "2200eed3-6b3d-4115-9512-e4b43c839121", "username": "CATEVENGERS", "profile_image_url": "https://socialimages.pump.fun/profile-images/f779e161-0f93-49ec-b763-2142854fd005/d56f4848-b7a9-4157-9607-7856a680d6b5", "role": "OWNER" } ] }, "isPumpUser": true, "counts": { "followers": 162027, "following": 7 }, "verified": false, "achievementBadgeIds": [ "views-1m", "followers-100k" ], "banned": false, "createdCoinsCount": 4, "degraded": [] }, "portfolio": { "positions": [ { "coinMint": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump", "chainId": 1399811149, "isExited": false, "walletAddress": "2M2vLX34LXMg24dMEnjWHvRXS1tshpEDRWzmXgV8ENNZ", "amountHeld": 20730476.396162, "pnlUsd": 466794.9566433995, "pnlPercentage": 95.98060767671657, "costBasisAmount": 20730476.39611597, "costBasisUsd": 486342.9894251824, "amountBoughtUsd": 356240.85633483774, "amountBought": 14413072.671784988, "callout": { "calloutId": "c80441e0-f76e-4bc6-8672-8419a9383529", "chain": null, "assetClass": "ASSET_CLASS_TOKEN", "perp": null, "calledOutAtMcap": 27728837, "multiple": 1.5990467289586163, "thesis": "I'm back 100x the Cate", "mediaUrl": null, "calloutTimestamp": "2026-08-04T03:30:32.325Z", "likes": 607, "hasLiked": null, "updates": [ { "id": "fc033446-8e19-4ed3-a342-7ff7e03ab8ac", "content": "Join the tiktok live for a hot chip challenge by pickle and tristin, Cate community locking in \n\nhttps://vt.tiktok.co...", "createdAt": "2026-10-24T17:49:17.599Z", "likeCount": 9, "mediaUrl": null, "parentMessageId": null, "repostCount": 0, "viewCount": 2393 } ], "updateCount": 127, "commentCount": 84, "replyCount": 211, "maxMultiplier": 4.541219206305773, "maxMultiplierAt": "2026-09-19T20:29:33.664Z", "calloutPrice": 0.0287531428558, "repostCount": 30, "quoteCount": 0, "hasReposted": null, "viewCount": 583986, "quotedCalloutId": null, "quotedCallout": null, "actingUserId": null, "actingUser": null }, "hasTransfers": true, "likelyLost": false, "hasUntrustedUsdBasis": false, "hasUntrustedSolBasis": false, "valueUsd": 953137.9460706982, "tokenPriceUsd": 0.045977619030846795, "realizedPnlUsd": 0, "updatedAt": "2026-10-24T20:17:34.000Z", "lastSlotIndexId": "00046098300500002100000008", "potentialSpam": false, "userMarkedNonSpam": false, "dustFloorFiltered": false, "isNative": false, "coin": { "name": "Catecoin", "symbol": "CATE", "imageUri": "https://imagedelivery.net/WL1JOIJiM_NAChp6rtB6Cw/coin-image/Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump", "marketCapUsd": 45977619.0308468, "totalSupply": 1000000000, "protocol": "pump", "platform": null, "program": "pump" } }, { "coinMint": "tqhtQ1bzuUzhqFnq9b5TD7ViDRsMxVk81KTATG3YAhk", "chainId": 1399811149, "isExited": false, "walletAddress": "2M2vLX34LXMg24dMEnjWHvRXS1tshpEDRWzmXgV8ENNZ", "amountHeld": 225552991.651823, "pnlUsd": 27286.880946711626, "pnlPercentage": null, "costBasisAmount": 225552991.65182298, "costBasisUsd": 0, "amountBoughtUsd": 0, "amountBought": 0, "callout": null, "hasTransfers": true, "likelyLost": false, "hasUntrustedUsdBasis": false, "hasUntrustedSolBasis": false, "valueUsd": 27286.88094671163, "tokenPriceUsd": 0.000120977694629, "realizedPnlUsd": 0, "updatedAt": "2026-09-02T09:13:28.000Z", "lastSlotIndexId": "00044365962906553500000011", "potentialSpam": true, "userMarkedNonSpam": false, "dustFloorFiltered": false, "isNative": false, "coin": { "name": "Doge", "symbol": "mɔ", "imageUri": "https://token-media.defined.fi/1399811149_tqhtQ1bzuUzhqFnq9b5TD7ViDRsMxVk81KTATG3YAhk_small_db58f5e75e37.png", "marketCapUsd": 120677632.06527002, "totalSupply": 997519686875.7487, "protocol": null, "platform": null, "program": null } } ], "summary": { "positionCount": 541, "hlAccount": "missing" }, "updatesApplied": true }, "summary": { "wallet": "2M2vLX34LXMg24dMEnjWHvRXS1tshpEDRWzmXgV8ENNZ", "from": 1792980000, "to": 1793068380, "pnl": { "sol": -784.6281733632213, "usd": -85723.59008004412 }, "realizedPnl": { "sol": -44.76614129564803, "usd": -4507.630723420416 }, "unrealizedPnl": { "sol": -739.8620320675733, "usd": -81215.9593566237 }, "percentage": { "sol": -7.438126018272796, "usd": -8.027940152858823 }, "totalBuySpend": { "sol": 131.25375132, "usd": 13224.763675322585 }, "heldOpenValue": { "sol": 10544.126443686986, "usd": 1067362.0243514185 }, "maxCapitalDeployed": { "sol": 10548.734606481155, "usd": 1067815.5099289967 }, "equityAtWindowStart": { "sol": null, "usd": null }, "missingPriceMints": [ "5A5Yfp5XJWPzwTYBzjRmgowUA7A8G5sMjw93rrquPbZw", "AW1vmJVbE47go5JDUTc4qngNUvjm531kCTvAYuNrgjRX" ], "tokenCount": 29, "tradePercentage": { "sol": -7.438126018272796, "usd": -8.027940152858823 }, "totalValueUsd": 980539.127943085, "solPriceUsd": 100.26885988738384, "nativeBalanceSol": 33.968264642, "cache": { "filledAtMs": 1793068392063, "ttlSeconds": 30 }, "computedAt": 1793068392063, "evmAddress": "0x452a3eb1ba7ffab825ba4529a8b6a3cf9536cc9a" }, "balance": { "success": true, "data": { "total_value": 980018.0584069501, "native_balance": 33.968264642, "native_lamports": 33968264642, "wrapped_sol_balance": 0, "sol_price": 100.26885988738384, "token_count": 186, "dust_count": 257, "dust_value_usd": 3.9054298307188184, "hidden_count": 33, "hidden_value_usd": 399.91070713823035, "last_update_ts": 1793068302, "portfolioPnL": { "total_cost_basis_usd": 1046732.0369488585, "total_unrealized_usd": -66713.97854190844, "total_percentage": -6.3735489300943176 } } }, "created": null, "followers": null, "following": null, "achievements": null }, "meta": { "observedAt": 1793068418597, "ageMs": 517, "source": "fresh", "parts": { "user": { "observedAt": 1793068418597, "source": "fresh" }, "userOverview": { "observedAt": 1793068418625, "source": "fresh" }, "portfolio": { "observedAt": 1793068418625, "source": "fresh" }, "portfolioSummary": { "observedAt": 1793068418625, "source": "fresh" }, "balanceSummary": { "observedAt": 1793068418625, "source": "fresh" } } } } } } }, "400": { "description": "Invalid mint, user or query: { error, message } with error such as invalid_mint, invalid_period, invalid_wallets, rejected (pump.fun refused the parameters) or unknown_parameter (a query key this route does not accept; parameter and allowed name it)" }, "402": { "description": "Payment Required; x4o2-free-key extension describes free key signup and Authorization header" }, "409": { "description": "payment_in_flight: this payment is already being used by another request" }, "429": { "description": "Free key over its limit: minute_quota_exceeded, daily_quota_exceeded (resets 00:00 UTC) or free_tier_paused; honour Retry-After or pay per call; upgrade includes price, networks, payment instructions, discovery, docs and UTC daily reset. Link points to docs. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows" }, "502": { "description": "unavailable: pump.fun answered with an error; retry shortly" }, "503": { "description": "busy or unavailable: temporarily out of upstream capacity; honour Retry-After or pass stale=1" } } ``` ### Shared schemas ```json { "schemas": { "Meta": { "type": "object", "description": "Freshness of the response", "properties": { "observedAt": { "type": "integer", "description": "Unix ms when the oldest part was observed upstream" }, "ageMs": { "type": "integer", "description": "Age of the oldest part when served, ms" }, "source": { "type": "string", "enum": [ "cache", "fresh", "stale" ] }, "parts": { "type": "object", "description": "observedAt and source per upstream part" } }, "required": [ "observedAt", "ageMs", "source" ] } }, "securitySchemes": { "apiKey": { "type": "http", "scheme": "bearer", "description": "Free API key from https://x4o2.com/keys (email login): 60 requests a minute and 1,000 a UTC day per key and service, served while the service has spare capacity, else 429 (minute_quota_exceeded, daily_quota_exceeded, free_tier_paused) with Retry-After; paid x402 requests always go through." } } } ``` --- ## StonkFun On-chain Data API > Independent finalized Solana LaunchLab discovery, exact token/quote/pool markets and OHLCV. Partial coverage; quote-unit prices, unknown USD values are null. GeckoTerminal AMM candles and ingested swap candles. Free key from https://x4o2.com/keys or 0.001 USDC per call via x402 on Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp). No StonkFun website/API or Stonk Radar runtime dependency. ### Documentation - [OpenAPI](https://stonkfun.x4o2.com/openapi.json): Machine-readable route definitions - [Complete documentation](https://stonkfun.x4o2.com/llms-full.txt): Parameters, schemas and captured examples - [API keys](https://x4o2.com/keys): Free access - [30-day pass](https://x4o2.com/pass): Higher limits ### Access and limits Free API key: https://x4o2.com/keys; Authorization: Bearer x4o2_… . Free access allows 60/minute and 1000/UTC day per service while spare capacity is available. 30-day pass: 10 USDC, 300/minute and 10000/UTC day per service, independent of free-tier pauses. POST https://x4o2.com/v1/pass with x402. Renewal extends from the later of expiry or purchase time. Wallet signing retrieves a replacement key at https://x4o2.com/pass; previous keys are revoked. Refunds are handled manually. x402: request without payment to receive a v2 PAYMENT-REQUIRED challenge; sign one accepted Base or Solana USDC option, retry with PAYMENT-SIGNATURE. PAYMENT-RESPONSE contains the settlement receipt. Failed calls are not settled. Counters reset on service restart. Pass expiry is enforced even when the key verifier is cached. Errors: 400 invalid/unknown parameters; 401 invalid or expired key; 402 payment required or verification failed; 409 payment in flight/replayed; 429 minute_quota_exceeded, daily_quota_exceeded, free_tier_paused (Retry-After); 502 upstream error; 503 busy/unavailable. RateLimit-* and X-RateLimit-* describe key quotas. ### Endpoints - [GET /v1/tokens](https://stonkfun.x4o2.com/v1/tokens): Observed token mints, paginated (0.001 USD via x402) Request body: ```json {} ``` Parameters: ```json [ { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "description": "Page size", "minimum": 1, "maximum": 100, "default": 20 }, "description": "Page size", "example": "1" }, { "name": "offset", "in": "query", "required": false, "schema": { "type": "integer", "description": "Offset", "minimum": 0, "maximum": 250000, "default": 0 }, "description": "Offset" }, { "name": "quoteMint", "in": "query", "required": false, "schema": { "type": "string", "description": "Exact quote mint; required for ranking or candles" }, "description": "Exact quote mint; required for ranking or candles" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "Verified observations; inspect meta and coverage for freshness and partial history", "content": { "application/json": { "schema": { "type": [ "object", "null" ], "properties": { "data": { "type": [ "object", "null" ], "properties": { "items": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "mint": { "type": [ "string", "null" ] }, "createdAt": { "type": [ "string", "null" ] }, "firstSeenAt": { "type": [ "string", "null" ] } } } }, "total": { "type": [ "number", "null" ] }, "limit": { "type": [ "number", "null" ] }, "offset": { "type": [ "number", "null" ] }, "partial": { "type": [ "boolean", "null" ] } } }, "meta": { "type": [ "object", "null" ], "properties": { "observedAt": { "type": [ "number", "null" ] }, "ageMs": { "type": [ "number", "null" ] }, "source": { "type": [ "string", "null" ] }, "partial": { "type": [ "boolean", "null" ] }, "commitment": { "type": [ "string", "null" ] }, "freshnessSeconds": { "type": [ "number", "null" ] }, "discoveryAt": { "type": [ "string", "null" ] } } } } }, "example": { "data": { "items": [ { "mint": "HpTqFB77DA8wneveRsSc9gnhjpUnjacLXcvwwsfcna49", "createdAt": "2026-10-31T04:08:45.000Z", "firstSeenAt": "2026-10-31T05:24:02.010Z" } ], "total": 12160, "limit": 1, "offset": 0, "partial": true }, "meta": { "observedAt": 1793424313992, "ageMs": 1093, "source": "cache", "partial": true, "commitment": "finalized", "freshnessSeconds": 120, "discoveryAt": "2026-10-31T05:25:13.992Z" } } } } }, "400": { "description": "Invalid or unknown query" }, "402": { "description": "Pay with x402; the x4o2-free-key extension describes signup and Authorization" }, "404": { "description": "Unknown token or exact market" }, "429": { "description": "Free-key quota or pause: Retry-After, docs Link and upgrade object with price, networks, payment instructions and UTC daily reset. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows (reset in seconds)." }, "503": { "description": "Provider unavailable or exhausted budget; no payment settlement" } } ``` - [GET /v1/tokens/{mint}](https://stonkfun.x4o2.com/v1/tokens/{mint}): Exact token markets and freshness (0.001 USD via x402) Request body: ```json {} ``` Parameters: ```json [ { "name": "mint", "in": "path", "required": true, "schema": { "type": "string", "description": "Exact Solana token mint" }, "description": "Exact Solana token mint", "example": "HkQeu1qNSFYmpidYBQeSzDVx5Lzpz58UEEwbNe4DNET1" }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "description": "Page size", "minimum": 1, "maximum": 100, "default": 20 }, "description": "Page size", "example": "1" }, { "name": "offset", "in": "query", "required": false, "schema": { "type": "integer", "description": "Offset", "minimum": 0, "maximum": 250000, "default": 0 }, "description": "Offset" }, { "name": "quoteMint", "in": "query", "required": false, "schema": { "type": "string", "description": "Exact quote mint; required for ranking or candles" }, "description": "Exact quote mint; required for ranking or candles", "example": "Xsv9hRk1z5ystj9MhnA7Lq4vjSsLwzL2nxrwmwtD3re" }, { "name": "pool", "in": "query", "required": false, "schema": { "type": "string", "description": "Exact pool address; required for candles" }, "description": "Exact pool address; required for candles", "example": "5Frbo3BCQy5t32FRUAGMhU4wEdzQRD3rVjZyNJExK6JQ" }, { "name": "lifecycle", "in": "query", "required": false, "schema": { "type": "string", "description": "Lifecycle", "enum": [ "bonding", "migrating", "graduated" ] }, "description": "Lifecycle" }, { "name": "kind", "in": "query", "required": false, "schema": { "type": "string", "description": "Pool program", "enum": [ "launchlab", "cpmm", "amm-v4" ] }, "description": "Pool program" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "Verified observations; inspect meta and coverage for freshness and partial history", "content": { "application/json": { "schema": { "type": [ "object", "null" ], "properties": { "data": { "type": [ "object", "null" ], "properties": { "mint": { "type": [ "string", "null" ] }, "items": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "pool": { "type": [ "string", "null" ] }, "curvePool": { "type": [ "string", "null" ] }, "mint": { "type": [ "string", "null" ] }, "quoteMint": { "type": [ "string", "null" ] }, "platformConfig": { "type": [ "string", "null" ] }, "kind": { "type": [ "string", "null" ] }, "lifecycle": { "type": [ "string", "null" ] }, "creator": { "type": [ "string", "null" ] }, "decimals": { "type": [ "number", "null" ] }, "quoteDecimals": { "type": [ "number", "null" ] }, "name": {}, "symbol": {}, "createdAt": {}, "firstSeenAt": { "type": [ "string", "null" ] }, "observedAt": { "type": [ "string", "null" ] }, "slot": { "type": [ "number", "null" ] }, "priceQuote": { "type": [ "number", "null" ] }, "supply": {}, "marketCapQuote": {}, "realQuote": {}, "protocolFeeQuote": {}, "platformFeeQuote": {}, "migrationSignature": {}, "globalConfig": { "type": [ "string", "null" ] }, "curveType": { "type": [ "number", "null" ] }, "priceUsd": {}, "marketCapUsd": {}, "quoteUsd": {}, "quoteUsdObservedAt": {}, "supplyObservedAt": {}, "stale": { "type": [ "boolean", "null" ] }, "partial": { "type": [ "boolean", "null" ] } } } }, "total": { "type": [ "number", "null" ] }, "limit": { "type": [ "number", "null" ] }, "offset": { "type": [ "number", "null" ] }, "partial": { "type": [ "boolean", "null" ] } } }, "meta": { "type": [ "object", "null" ], "properties": { "observedAt": { "type": [ "number", "null" ] }, "ageMs": { "type": [ "number", "null" ] }, "source": { "type": [ "string", "null" ] }, "partial": { "type": [ "boolean", "null" ] }, "commitment": { "type": [ "string", "null" ] }, "freshnessSeconds": { "type": [ "number", "null" ] }, "discoveryAt": { "type": [ "string", "null" ] } } } } }, "example": { "data": { "mint": "HkQeu1qNSFYmpidYBQeSzDVx5Lzpz58UEEwbNe4DNET1", "items": [ { "pool": "5Frbo3BCQy5t32FRUAGMhU4wEdzQRD3rVjZyNJExK6JQ", "curvePool": "9xzX6redHyy99zkZhvRpbncUcUEQRbjV1P1g3VGJUjhw", "mint": "HkQeu1qNSFYmpidYBQeSzDVx5Lzpz58UEEwbNe4DNET1", "quoteMint": "Xsv9hRk1z5ystj9MhnA7Lq4vjSsLwzL2nxrwmwtD3re", "platformConfig": "6BwHHDg3u1854jC8PDLXvR4spTcLNaoBxLJNGC4nTESt", "kind": "cpmm", "lifecycle": "graduated", "creator": "EpgKoofCzeHXQxAohXitF99aDTgzi9JpF1uFLGTXWuJA", "decimals": 6, "quoteDecimals": 8, "name": null, "symbol": null, "createdAt": null, "firstSeenAt": "2026-10-31T05:24:45.641Z", "observedAt": "2026-10-31T05:25:00.907Z", "slot": 463569826, "priceQuote": 1.2610362006774265e-7, "supply": null, "marketCapQuote": null, "realQuote": null, "protocolFeeQuote": null, "platformFeeQuote": null, "migrationSignature": null, "globalConfig": "Crvp3VHo4eqyARzFsnwygu3Y9aWgfy9zupQtcVVuZN2K", "curveType": 0, "priceUsd": null, "marketCapUsd": null, "quoteUsd": null, "quoteUsdObservedAt": null, "supplyObservedAt": null, "stale": false, "partial": true } ], "total": 1, "limit": 1, "offset": 0, "partial": true }, "meta": { "observedAt": 1793424300907, "ageMs": 15836, "source": "cache", "partial": true, "commitment": "finalized", "freshnessSeconds": 120, "discoveryAt": "2026-10-31T05:25:13.992Z" } } } } }, "400": { "description": "Invalid or unknown query" }, "402": { "description": "Pay with x402; the x4o2-free-key extension describes signup and Authorization" }, "404": { "description": "Unknown token or exact market" }, "429": { "description": "Free-key quota or pause: Retry-After, docs Link and upgrade object with price, networks, payment instructions and UTC daily reset. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows (reset in seconds)." }, "503": { "description": "Provider unavailable or exhausted budget; no payment settlement" } } ``` - [GET /v1/pairings](https://stonkfun.x4o2.com/v1/pairings): Quote mints verified in Stonk platform pools (0.001 USD via x402) Request body: ```json {} ``` Parameters: ```json [ { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "description": "Page size", "minimum": 1, "maximum": 100, "default": 20 }, "description": "Page size", "example": "1" }, { "name": "offset", "in": "query", "required": false, "schema": { "type": "integer", "description": "Offset", "minimum": 0, "maximum": 250000, "default": 0 }, "description": "Offset" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "Verified observations; inspect meta and coverage for freshness and partial history", "content": { "application/json": { "schema": { "type": [ "object", "null" ], "properties": { "data": { "type": [ "object", "null" ], "properties": { "items": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "mint": { "type": [ "string", "null" ] }, "tokenCount": { "type": [ "number", "null" ] }, "poolCount": { "type": [ "number", "null" ] }, "observedAt": { "type": [ "string", "null" ] } } } }, "total": { "type": [ "number", "null" ] }, "limit": { "type": [ "number", "null" ] }, "offset": { "type": [ "number", "null" ] }, "partial": { "type": [ "boolean", "null" ] }, "membership": { "type": [ "string", "null" ] } } }, "meta": { "type": [ "object", "null" ], "properties": { "observedAt": { "type": [ "number", "null" ] }, "ageMs": { "type": [ "number", "null" ] }, "source": { "type": [ "string", "null" ] }, "partial": { "type": [ "boolean", "null" ] }, "commitment": { "type": [ "string", "null" ] }, "freshnessSeconds": { "type": [ "number", "null" ] }, "discoveryAt": { "type": [ "string", "null" ] } } } } }, "example": { "data": { "items": [ { "mint": "A7bdiYdS5GjqGFtxf17ppRHtDKPkkRqbKtR27dxvQXaS", "tokenCount": 871, "poolCount": 871, "observedAt": "2026-10-31T05:25:14.072Z" } ], "total": 397, "limit": 1, "offset": 0, "partial": true, "membership": "Verified Stonk platform pool quote; website pairing availability is unknown." }, "meta": { "observedAt": 1793424314072, "ageMs": 2856, "source": "cache", "partial": true, "commitment": "finalized", "freshnessSeconds": 120, "discoveryAt": "2026-10-31T05:25:13.992Z" } } } } }, "400": { "description": "Invalid or unknown query" }, "402": { "description": "Pay with x402; the x4o2-free-key extension describes signup and Authorization" }, "404": { "description": "Unknown token or exact market" }, "429": { "description": "Free-key quota or pause: Retry-After, docs Link and upgrade object with price, networks, payment instructions and UTC daily reset. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows (reset in seconds)." }, "503": { "description": "Provider unavailable or exhausted budget; no payment settlement" } } ``` - [GET /v1/quotes](https://stonkfun.x4o2.com/v1/quotes): Alias of verified pairing quotes (0.001 USD via x402) Request body: ```json {} ``` Parameters: ```json [ { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "description": "Page size", "minimum": 1, "maximum": 100, "default": 20 }, "description": "Page size", "example": "1" }, { "name": "offset", "in": "query", "required": false, "schema": { "type": "integer", "description": "Offset", "minimum": 0, "maximum": 250000, "default": 0 }, "description": "Offset" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "Verified observations; inspect meta and coverage for freshness and partial history", "content": { "application/json": { "schema": { "type": [ "object", "null" ], "properties": { "data": { "type": [ "object", "null" ], "properties": { "items": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "mint": { "type": [ "string", "null" ] }, "tokenCount": { "type": [ "number", "null" ] }, "poolCount": { "type": [ "number", "null" ] }, "observedAt": { "type": [ "string", "null" ] } } } }, "total": { "type": [ "number", "null" ] }, "limit": { "type": [ "number", "null" ] }, "offset": { "type": [ "number", "null" ] }, "partial": { "type": [ "boolean", "null" ] }, "membership": { "type": [ "string", "null" ] } } }, "meta": { "type": [ "object", "null" ], "properties": { "observedAt": { "type": [ "number", "null" ] }, "ageMs": { "type": [ "number", "null" ] }, "source": { "type": [ "string", "null" ] }, "partial": { "type": [ "boolean", "null" ] }, "commitment": { "type": [ "string", "null" ] }, "freshnessSeconds": { "type": [ "number", "null" ] }, "discoveryAt": { "type": [ "string", "null" ] } } } } }, "example": { "data": { "items": [ { "mint": "A7bdiYdS5GjqGFtxf17ppRHtDKPkkRqbKtR27dxvQXaS", "tokenCount": 871, "poolCount": 871, "observedAt": "2026-10-31T05:25:14.072Z" } ], "total": 397, "limit": 1, "offset": 0, "partial": true, "membership": "Verified Stonk platform pool quote; website pairing availability is unknown." }, "meta": { "observedAt": 1793424314072, "ageMs": 4093, "source": "cache", "partial": true, "commitment": "finalized", "freshnessSeconds": 120, "discoveryAt": "2026-10-31T05:25:18.025Z" } } } } }, "400": { "description": "Invalid or unknown query" }, "402": { "description": "Pay with x402; the x4o2-free-key extension describes signup and Authorization" }, "404": { "description": "Unknown token or exact market" }, "429": { "description": "Free-key quota or pause: Retry-After, docs Link and upgrade object with price, networks, payment instructions and UTC daily reset. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows (reset in seconds)." }, "503": { "description": "Provider unavailable or exhausted budget; no payment settlement" } } ``` - [GET /v1/launches](https://stonkfun.x4o2.com/v1/launches): Recent verified LaunchLab pools; unknown creation times remain null (0.001 USD via x402) Request body: ```json {} ``` Parameters: ```json [ { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "description": "Page size", "minimum": 1, "maximum": 100, "default": 20 }, "description": "Page size", "example": "1" }, { "name": "offset", "in": "query", "required": false, "schema": { "type": "integer", "description": "Offset", "minimum": 0, "maximum": 250000, "default": 0 }, "description": "Offset" }, { "name": "quoteMint", "in": "query", "required": false, "schema": { "type": "string", "description": "Exact quote mint; required for ranking or candles" }, "description": "Exact quote mint; required for ranking or candles" }, { "name": "pool", "in": "query", "required": false, "schema": { "type": "string", "description": "Exact pool address; required for candles" }, "description": "Exact pool address; required for candles" }, { "name": "lifecycle", "in": "query", "required": false, "schema": { "type": "string", "description": "Lifecycle", "enum": [ "bonding", "migrating", "graduated" ] }, "description": "Lifecycle" }, { "name": "kind", "in": "query", "required": false, "schema": { "type": "string", "description": "Pool program", "enum": [ "launchlab", "cpmm", "amm-v4" ] }, "description": "Pool program" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "Verified observations; inspect meta and coverage for freshness and partial history", "content": { "application/json": { "schema": { "type": [ "object", "null" ], "properties": { "data": { "type": [ "object", "null" ], "properties": { "items": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "pool": { "type": [ "string", "null" ] }, "curvePool": { "type": [ "string", "null" ] }, "mint": { "type": [ "string", "null" ] }, "quoteMint": { "type": [ "string", "null" ] }, "platformConfig": { "type": [ "string", "null" ] }, "kind": { "type": [ "string", "null" ] }, "lifecycle": { "type": [ "string", "null" ] }, "creator": { "type": [ "string", "null" ] }, "decimals": { "type": [ "number", "null" ] }, "quoteDecimals": { "type": [ "number", "null" ] }, "name": { "type": [ "string", "null" ] }, "symbol": { "type": [ "string", "null" ] }, "createdAt": { "type": [ "string", "null" ] }, "firstSeenAt": { "type": [ "string", "null" ] }, "observedAt": { "type": [ "string", "null" ] }, "slot": { "type": [ "number", "null" ] }, "priceQuote": { "type": [ "number", "null" ] }, "supply": {}, "marketCapQuote": {}, "realQuote": { "type": [ "number", "null" ] }, "protocolFeeQuote": { "type": [ "number", "null" ] }, "platformFeeQuote": { "type": [ "number", "null" ] }, "migrationSignature": {}, "globalConfig": { "type": [ "string", "null" ] }, "curveType": { "type": [ "number", "null" ] }, "priceUsd": {}, "marketCapUsd": {}, "quoteUsd": {}, "quoteUsdObservedAt": {}, "supplyObservedAt": {}, "stale": { "type": [ "boolean", "null" ] }, "partial": { "type": [ "boolean", "null" ] } } } }, "total": { "type": [ "number", "null" ] }, "limit": { "type": [ "number", "null" ] }, "offset": { "type": [ "number", "null" ] }, "partial": { "type": [ "boolean", "null" ] } } }, "meta": { "type": [ "object", "null" ], "properties": { "observedAt": { "type": [ "number", "null" ] }, "ageMs": { "type": [ "number", "null" ] }, "source": { "type": [ "string", "null" ] }, "partial": { "type": [ "boolean", "null" ] }, "commitment": { "type": [ "string", "null" ] }, "freshnessSeconds": { "type": [ "number", "null" ] }, "discoveryAt": { "type": [ "string", "null" ] } } } } }, "example": { "data": { "items": [ { "pool": "BBzMt9cR4GgjLEzY3PW35PYdnbZLXfGPNsK5MfJy2pHJ", "curvePool": "BBzMt9cR4GgjLEzY3PW35PYdnbZLXfGPNsK5MfJy2pHJ", "mint": "HpTqFB77DA8wneveRsSc9gnhjpUnjacLXcvwwsfcna49", "quoteMint": "So11111111111111111111111111111111111111112", "platformConfig": "4E876qZTE9FJMrBzgVtBrSrzz2TLivB5Y5QXPjB4gZL7", "kind": "launchlab", "lifecycle": "bonding", "creator": "9jfUjyeZDWBJnkmBUjr3AbJ5uFQWHYwt74d1fz6tsitq", "decimals": 6, "quoteDecimals": 9, "name": "JELNO", "symbol": "JELNO", "createdAt": "2026-10-31T04:08:45.000Z", "firstSeenAt": "2026-10-31T05:24:02.010Z", "observedAt": "2026-10-31T05:24:02.010Z", "slot": 463569543, "priceQuote": 2.795912119480661e-8, "supply": null, "marketCapQuote": null, "realQuote": 1e-9, "protocolFeeQuote": 0.011911753, "platformFeeQuote": 0, "migrationSignature": null, "globalConfig": "6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX", "curveType": 0, "priceUsd": null, "marketCapUsd": null, "quoteUsd": null, "quoteUsdObservedAt": null, "supplyObservedAt": null, "stale": false, "partial": true } ], "total": 12212, "limit": 1, "offset": 0, "partial": true }, "meta": { "observedAt": 1793424242010, "ageMs": 76214, "source": "cache", "partial": true, "commitment": "finalized", "freshnessSeconds": 120, "discoveryAt": "2026-10-31T05:25:18.025Z" } } } } }, "400": { "description": "Invalid or unknown query" }, "402": { "description": "Pay with x402; the x4o2-free-key extension describes signup and Authorization" }, "404": { "description": "Unknown token or exact market" }, "429": { "description": "Free-key quota or pause: Retry-After, docs Link and upgrade object with price, networks, payment instructions and UTC daily reset. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows (reset in seconds)." }, "503": { "description": "Provider unavailable or exhausted budget; no payment settlement" } } ``` - [GET /v1/markets](https://stonkfun.x4o2.com/v1/markets): Pools by exact token/quote and lifecycle (0.001 USD via x402) Request body: ```json {} ``` Parameters: ```json [ { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "description": "Page size", "minimum": 1, "maximum": 100, "default": 20 }, "description": "Page size", "example": "1" }, { "name": "offset", "in": "query", "required": false, "schema": { "type": "integer", "description": "Offset", "minimum": 0, "maximum": 250000, "default": 0 }, "description": "Offset" }, { "name": "quoteMint", "in": "query", "required": false, "schema": { "type": "string", "description": "Exact quote mint; required for ranking or candles" }, "description": "Exact quote mint; required for ranking or candles", "example": "Xsv9hRk1z5ystj9MhnA7Lq4vjSsLwzL2nxrwmwtD3re" }, { "name": "pool", "in": "query", "required": false, "schema": { "type": "string", "description": "Exact pool address; required for candles" }, "description": "Exact pool address; required for candles" }, { "name": "lifecycle", "in": "query", "required": false, "schema": { "type": "string", "description": "Lifecycle", "enum": [ "bonding", "migrating", "graduated" ] }, "description": "Lifecycle" }, { "name": "kind", "in": "query", "required": false, "schema": { "type": "string", "description": "Pool program", "enum": [ "launchlab", "cpmm", "amm-v4" ] }, "description": "Pool program" }, { "name": "mint", "in": "query", "required": false, "schema": { "type": "string", "description": "Exact Solana token mint" }, "description": "Exact Solana token mint", "example": "HkQeu1qNSFYmpidYBQeSzDVx5Lzpz58UEEwbNe4DNET1" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "Verified observations; inspect meta and coverage for freshness and partial history", "content": { "application/json": { "schema": { "type": [ "object", "null" ], "properties": { "data": { "type": [ "object", "null" ], "properties": { "items": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "pool": { "type": [ "string", "null" ] }, "curvePool": { "type": [ "string", "null" ] }, "mint": { "type": [ "string", "null" ] }, "quoteMint": { "type": [ "string", "null" ] }, "platformConfig": { "type": [ "string", "null" ] }, "kind": { "type": [ "string", "null" ] }, "lifecycle": { "type": [ "string", "null" ] }, "creator": { "type": [ "string", "null" ] }, "decimals": { "type": [ "number", "null" ] }, "quoteDecimals": { "type": [ "number", "null" ] }, "name": {}, "symbol": {}, "createdAt": {}, "firstSeenAt": { "type": [ "string", "null" ] }, "observedAt": { "type": [ "string", "null" ] }, "slot": { "type": [ "number", "null" ] }, "priceQuote": { "type": [ "number", "null" ] }, "supply": {}, "marketCapQuote": {}, "realQuote": {}, "protocolFeeQuote": {}, "platformFeeQuote": {}, "migrationSignature": {}, "globalConfig": { "type": [ "string", "null" ] }, "curveType": { "type": [ "number", "null" ] }, "priceUsd": {}, "marketCapUsd": {}, "quoteUsd": {}, "quoteUsdObservedAt": {}, "supplyObservedAt": {}, "stale": { "type": [ "boolean", "null" ] }, "partial": { "type": [ "boolean", "null" ] } } } }, "total": { "type": [ "number", "null" ] }, "limit": { "type": [ "number", "null" ] }, "offset": { "type": [ "number", "null" ] }, "partial": { "type": [ "boolean", "null" ] } } }, "meta": { "type": [ "object", "null" ], "properties": { "observedAt": { "type": [ "number", "null" ] }, "ageMs": { "type": [ "number", "null" ] }, "source": { "type": [ "string", "null" ] }, "partial": { "type": [ "boolean", "null" ] }, "commitment": { "type": [ "string", "null" ] }, "freshnessSeconds": { "type": [ "number", "null" ] }, "discoveryAt": { "type": [ "string", "null" ] } } } } }, "example": { "data": { "items": [ { "pool": "5Frbo3BCQy5t32FRUAGMhU4wEdzQRD3rVjZyNJExK6JQ", "curvePool": "9xzX6redHyy99zkZhvRpbncUcUEQRbjV1P1g3VGJUjhw", "mint": "HkQeu1qNSFYmpidYBQeSzDVx5Lzpz58UEEwbNe4DNET1", "quoteMint": "Xsv9hRk1z5ystj9MhnA7Lq4vjSsLwzL2nxrwmwtD3re", "platformConfig": "6BwHHDg3u1854jC8PDLXvR4spTcLNaoBxLJNGC4nTESt", "kind": "cpmm", "lifecycle": "graduated", "creator": "EpgKoofCzeHXQxAohXitF99aDTgzi9JpF1uFLGTXWuJA", "decimals": 6, "quoteDecimals": 8, "name": null, "symbol": null, "createdAt": null, "firstSeenAt": "2026-10-31T05:24:45.641Z", "observedAt": "2026-10-31T05:25:00.907Z", "slot": 463569826, "priceQuote": 1.2610362006774265e-7, "supply": null, "marketCapQuote": null, "realQuote": null, "protocolFeeQuote": null, "platformFeeQuote": null, "migrationSignature": null, "globalConfig": "Crvp3VHo4eqyARzFsnwygu3Y9aWgfy9zupQtcVVuZN2K", "curveType": 0, "priceUsd": null, "marketCapUsd": null, "quoteUsd": null, "quoteUsdObservedAt": null, "supplyObservedAt": null, "stale": false, "partial": true } ], "total": 2, "limit": 1, "offset": 0, "partial": true }, "meta": { "observedAt": 1793424300907, "ageMs": 17357, "source": "cache", "partial": true, "commitment": "finalized", "freshnessSeconds": 120, "discoveryAt": "2026-10-31T05:25:18.025Z" } } } } }, "400": { "description": "Invalid or unknown query" }, "402": { "description": "Pay with x402; the x4o2-free-key extension describes signup and Authorization" }, "404": { "description": "Unknown token or exact market" }, "429": { "description": "Free-key quota or pause: Retry-After, docs Link and upgrade object with price, networks, payment instructions and UTC daily reset. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows (reset in seconds)." }, "503": { "description": "Provider unavailable or exhausted budget; no payment settlement" } } ``` - [GET /v1/tokens/{mint}/candles](https://stonkfun.x4o2.com/v1/tokens/{mint}/candles): Exact-market OHLCV in quote units; 1m through 1d (0.001 USD via x402) Request body: ```json {} ``` Parameters: ```json [ { "name": "mint", "in": "path", "required": true, "schema": { "type": "string", "description": "Exact Solana token mint" }, "description": "Exact Solana token mint", "example": "HkQeu1qNSFYmpidYBQeSzDVx5Lzpz58UEEwbNe4DNET1" }, { "name": "pool", "in": "query", "required": true, "schema": { "type": "string", "description": "Exact pool address; required for candles" }, "description": "Exact pool address; required for candles", "example": "5Frbo3BCQy5t32FRUAGMhU4wEdzQRD3rVjZyNJExK6JQ" }, { "name": "quoteMint", "in": "query", "required": true, "schema": { "type": "string", "description": "Exact quote mint; required for ranking or candles" }, "description": "Exact quote mint; required for ranking or candles", "example": "Xsv9hRk1z5ystj9MhnA7Lq4vjSsLwzL2nxrwmwtD3re" }, { "name": "res", "in": "query", "required": false, "schema": { "type": "string", "description": "Candle resolution", "enum": [ "1m", "5m", "15m", "1h", "4h", "1d" ], "default": "5m" }, "description": "Candle resolution", "example": "1h" }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "description": "Candle count", "minimum": 1, "maximum": 1000, "default": 300 }, "description": "Candle count", "example": "3" }, { "name": "before", "in": "query", "required": false, "schema": { "type": "integer", "description": "Exclusive candle bucket upper bound, Unix seconds", "minimum": 1 }, "description": "Exclusive candle bucket upper bound, Unix seconds" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "Verified observations; inspect meta and coverage for freshness and partial history", "content": { "application/json": { "schema": { "type": [ "object", "null" ], "properties": { "data": { "type": [ "object", "null" ], "properties": { "mint": { "type": [ "string", "null" ] }, "quoteMint": { "type": [ "string", "null" ] }, "pool": { "type": [ "string", "null" ] }, "res": { "type": [ "string", "null" ] }, "measure": { "type": [ "string", "null" ] }, "currency": { "type": [ "string", "null" ] }, "quoteUsd": {}, "quoteUsdObservedAt": {}, "source": { "type": [ "string", "null" ] }, "fetchedAt": { "type": [ "string", "null" ] }, "candles": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "time": { "type": [ "number", "null" ] }, "open": { "type": [ "number", "null" ] }, "high": { "type": [ "number", "null" ] }, "low": { "type": [ "number", "null" ] }, "close": { "type": [ "number", "null" ] }, "volumeQuote": { "type": [ "number", "null" ] }, "volumeUsd": {}, "trades": {} } } }, "coverage": { "type": [ "object", "null" ], "properties": { "partial": { "type": [ "boolean", "null" ] }, "historyComplete": { "type": [ "boolean", "null" ] }, "ordering": { "type": [ "string", "null" ] }, "retentionDays": { "type": [ "number", "null" ] }, "from": { "type": [ "number", "null" ] }, "to": { "type": [ "number", "null" ] } } }, "busy": { "type": [ "boolean", "null" ] }, "serverTime": { "type": [ "string", "null" ] } } }, "meta": { "type": [ "object", "null" ], "properties": { "observedAt": { "type": [ "number", "null" ] }, "ageMs": { "type": [ "number", "null" ] }, "source": { "type": [ "string", "null" ] }, "partial": { "type": [ "boolean", "null" ] }, "commitment": { "type": [ "string", "null" ] }, "freshnessSeconds": { "type": [ "number", "null" ] }, "discoveryAt": { "type": [ "string", "null" ] } } } } }, "example": { "data": { "mint": "HkQeu1qNSFYmpidYBQeSzDVx5Lzpz58UEEwbNe4DNET1", "quoteMint": "Xsv9hRk1z5ystj9MhnA7Lq4vjSsLwzL2nxrwmwtD3re", "pool": "5Frbo3BCQy5t32FRUAGMhU4wEdzQRD3rVjZyNJExK6JQ", "res": "1h", "measure": "price", "currency": "quote", "quoteUsd": null, "quoteUsdObservedAt": null, "source": "GeckoTerminal", "fetchedAt": "2026-10-31T05:25:14.872Z", "candles": [ { "time": 1793412000, "open": 1.35876455898026e-7, "high": 1.35876455898026e-7, "low": 1.27778351583101e-7, "close": 1.35876455898026e-7, "volumeQuote": 0.17467692, "volumeUsd": null, "trades": null }, { "time": 1793422800, "open": 1.35876455898026e-7, "high": 1.35876455898026e-7, "low": 1.24990294378267e-7, "close": 1.24990294378267e-7, "volumeQuote": 0.89354456, "volumeUsd": null, "trades": null } ], "coverage": { "partial": true, "historyComplete": false, "ordering": "block-time, slot; same-slot transaction order unavailable", "retentionDays": 90, "from": 1793412000, "to": 1793422800 }, "busy": false, "serverTime": "2026-10-31T05:25:18.437Z" }, "meta": { "observedAt": 1793424314872, "ageMs": 3565, "source": "cache", "partial": true, "commitment": "finalized", "freshnessSeconds": 120, "discoveryAt": "2026-10-31T05:25:18.367Z" } } } } }, "400": { "description": "Invalid or unknown query" }, "402": { "description": "Pay with x402; the x4o2-free-key extension describes signup and Authorization" }, "404": { "description": "Unknown token or exact market" }, "429": { "description": "Free-key quota or pause: Retry-After, docs Link and upgrade object with price, networks, payment instructions and UTC daily reset. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows (reset in seconds)." }, "503": { "description": "Provider unavailable or exhausted budget; no payment settlement" } } ``` - [GET /v1/trending](https://stonkfun.x4o2.com/v1/trending): 24h observed swap volume or fresh market cap within one quote mint (0.001 USD via x402) Request body: ```json {} ``` Parameters: ```json [ { "name": "quoteMint", "in": "query", "required": true, "schema": { "type": "string", "description": "Exact quote mint; required for ranking or candles" }, "description": "Exact quote mint; required for ranking or candles", "example": "Xsv9hRk1z5ystj9MhnA7Lq4vjSsLwzL2nxrwmwtD3re" }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "description": "Page size", "minimum": 1, "maximum": 100, "default": 20 }, "description": "Page size", "example": "1" }, { "name": "sort", "in": "query", "required": false, "schema": { "type": "string", "description": "Ranking metric", "enum": [ "volume", "mcap" ], "default": "volume" }, "description": "Ranking metric" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "Verified observations; inspect meta and coverage for freshness and partial history", "content": { "application/json": { "schema": { "type": [ "object", "null" ], "properties": { "data": { "type": [ "object", "null" ], "properties": { "items": { "type": [ "array", "null" ] }, "quoteMint": { "type": [ "string", "null" ] }, "sort": { "type": [ "string", "null" ] }, "windowSeconds": { "type": [ "number", "null" ] }, "limit": { "type": [ "number", "null" ] }, "partial": { "type": [ "boolean", "null" ] } } }, "meta": { "type": [ "object", "null" ], "properties": { "observedAt": { "type": [ "number", "null" ] }, "ageMs": { "type": [ "number", "null" ] }, "source": { "type": [ "string", "null" ] }, "partial": { "type": [ "boolean", "null" ] }, "commitment": { "type": [ "string", "null" ] }, "freshnessSeconds": { "type": [ "number", "null" ] }, "discoveryAt": { "type": [ "string", "null" ] } } } } }, "example": { "data": { "items": [], "quoteMint": "Xsv9hRk1z5ystj9MhnA7Lq4vjSsLwzL2nxrwmwtD3re", "sort": "volume", "windowSeconds": 86400, "limit": 1, "partial": true }, "meta": { "observedAt": 1793424318367, "ageMs": 107, "source": "cache", "partial": true, "commitment": "finalized", "freshnessSeconds": 120, "discoveryAt": "2026-10-31T05:25:18.367Z" } } } } }, "400": { "description": "Invalid or unknown query" }, "402": { "description": "Pay with x402; the x4o2-free-key extension describes signup and Authorization" }, "404": { "description": "Unknown token or exact market" }, "429": { "description": "Free-key quota or pause: Retry-After, docs Link and upgrade object with price, networks, payment instructions and UTC daily reset. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows (reset in seconds)." }, "503": { "description": "Provider unavailable or exhausted budget; no payment settlement" } } ``` - [GET /v1/leaderboard](https://stonkfun.x4o2.com/v1/leaderboard): Alias of quote-specific trending (0.001 USD via x402) Request body: ```json {} ``` Parameters: ```json [ { "name": "quoteMint", "in": "query", "required": true, "schema": { "type": "string", "description": "Exact quote mint; required for ranking or candles" }, "description": "Exact quote mint; required for ranking or candles", "example": "Xsv9hRk1z5ystj9MhnA7Lq4vjSsLwzL2nxrwmwtD3re" }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "description": "Page size", "minimum": 1, "maximum": 100, "default": 20 }, "description": "Page size", "example": "1" }, { "name": "sort", "in": "query", "required": false, "schema": { "type": "string", "description": "Ranking metric", "enum": [ "volume", "mcap" ], "default": "volume" }, "description": "Ranking metric" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "Verified observations; inspect meta and coverage for freshness and partial history", "content": { "application/json": { "schema": { "type": [ "object", "null" ], "properties": { "data": { "type": [ "object", "null" ], "properties": { "items": { "type": [ "array", "null" ] }, "quoteMint": { "type": [ "string", "null" ] }, "sort": { "type": [ "string", "null" ] }, "windowSeconds": { "type": [ "number", "null" ] }, "limit": { "type": [ "number", "null" ] }, "partial": { "type": [ "boolean", "null" ] } } }, "meta": { "type": [ "object", "null" ], "properties": { "observedAt": { "type": [ "number", "null" ] }, "ageMs": { "type": [ "number", "null" ] }, "source": { "type": [ "string", "null" ] }, "partial": { "type": [ "boolean", "null" ] }, "commitment": { "type": [ "string", "null" ] }, "freshnessSeconds": { "type": [ "number", "null" ] }, "discoveryAt": { "type": [ "string", "null" ] } } } } }, "example": { "data": { "items": [], "quoteMint": "Xsv9hRk1z5ystj9MhnA7Lq4vjSsLwzL2nxrwmwtD3re", "sort": "volume", "windowSeconds": 86400, "limit": 1, "partial": true }, "meta": { "observedAt": 1793424318367, "ageMs": 151, "source": "cache", "partial": true, "commitment": "finalized", "freshnessSeconds": 120, "discoveryAt": "2026-10-31T05:25:18.367Z" } } } } }, "400": { "description": "Invalid or unknown query" }, "402": { "description": "Pay with x402; the x4o2-free-key extension describes signup and Authorization" }, "404": { "description": "Unknown token or exact market" }, "429": { "description": "Free-key quota or pause: Retry-After, docs Link and upgrade object with price, networks, payment instructions and UTC daily reset. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows (reset in seconds)." }, "503": { "description": "Provider unavailable or exhausted budget; no payment settlement" } } ``` - [GET /v1/tokens/{mint}/holders](https://stonkfun.x4o2.com/v1/tokens/{mint}/holders): Owners of up to 20 largest token accounts; total wallet count unknown (0.001 USD via x402) Request body: ```json {} ``` Parameters: ```json [ { "name": "mint", "in": "path", "required": true, "schema": { "type": "string", "description": "Exact Solana token mint" }, "description": "Exact Solana token mint", "example": "HkQeu1qNSFYmpidYBQeSzDVx5Lzpz58UEEwbNe4DNET1" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "Verified observations; inspect meta and coverage for freshness and partial history", "content": { "application/json": { "schema": { "type": [ "object", "null" ], "properties": { "data": { "type": [ "object", "null" ], "properties": { "mint": { "type": [ "string", "null" ] }, "holderCount": {}, "items": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "owner": { "type": [ "string", "null" ] }, "amount": { "type": [ "number", "null" ] }, "tokenAccounts": { "type": [ "array", "null" ], "items": { "type": [ "string", "null" ] } } } } }, "observedAt": { "type": [ "string", "null" ] }, "slot": { "type": [ "number", "null" ] }, "coverage": { "type": [ "object", "null" ], "properties": { "partial": { "type": [ "boolean", "null" ] }, "largestTokenAccounts": { "type": [ "number", "null" ] }, "totalWalletHolders": {}, "description": { "type": [ "string", "null" ] } } } } }, "meta": { "type": [ "object", "null" ], "properties": { "observedAt": { "type": [ "number", "null" ] }, "ageMs": { "type": [ "number", "null" ] }, "source": { "type": [ "string", "null" ] }, "partial": { "type": [ "boolean", "null" ] }, "commitment": { "type": [ "string", "null" ] }, "freshnessSeconds": { "type": [ "number", "null" ] }, "discoveryAt": { "type": [ "string", "null" ] } } } } }, "example": { "data": { "mint": "HkQeu1qNSFYmpidYBQeSzDVx5Lzpz58UEEwbNe4DNET1", "holderCount": null, "items": [ { "owner": "GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL", "amount": 206530241.533375, "tokenAccounts": [ "3MZho2JQTjD77uUeMXp2Lath8vjqTS1hPg7294bikUJ4" ] }, { "owner": "6r5ww4RiBUDYAwUJs6h63qrmtvZd8YQyWy5t4kzNfjPZ", "amount": 64692862.734942, "tokenAccounts": [ "Br2GTrFpDfyGhHNvVWvRLGyK2d44cFECQ2yZgKA2i3DP" ] }, { "owner": "9fkNwbXHaKBb8F4ivF2hDegXoyXfY1dymY3QRnYHx5aa", "amount": 51751333.432629, "tokenAccounts": [ "GnWeigQUs4e5h1MCVmmpDF4CPRSEA3mmUFBdD3xENVa5" ] } ], "observedAt": "2026-10-31T05:25:18.797Z", "slot": 463569911, "coverage": { "partial": true, "largestTokenAccounts": 20, "totalWalletHolders": null, "description": "Owners aggregated from at most 20 largest token accounts; wallets with other accounts are undercounted; vaults included." } }, "meta": { "observedAt": 1793424318797, "ageMs": 3, "source": "cache", "partial": true, "commitment": "finalized", "freshnessSeconds": 120, "discoveryAt": "2026-10-31T05:25:18.367Z" } } } } }, "400": { "description": "Invalid or unknown query" }, "402": { "description": "Pay with x402; the x4o2-free-key extension describes signup and Authorization" }, "404": { "description": "Unknown token or exact market" }, "429": { "description": "Free-key quota or pause: Retry-After, docs Link and upgrade object with price, networks, payment instructions and UTC daily reset. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows (reset in seconds)." }, "503": { "description": "Provider unavailable or exhausted budget; no payment settlement" } } ``` - [GET /v1/tokens/{mint}/burns](https://stonkfun.x4o2.com/v1/tokens/{mint}/burns): Observed SPL token burns; incomplete history (0.001 USD via x402) Request body: ```json {} ``` Parameters: ```json [ { "name": "mint", "in": "path", "required": true, "schema": { "type": "string", "description": "Exact Solana token mint" }, "description": "Exact Solana token mint", "example": "HkQeu1qNSFYmpidYBQeSzDVx5Lzpz58UEEwbNe4DNET1" }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "description": "Page size", "minimum": 1, "maximum": 100, "default": 20 }, "description": "Page size", "example": "1" }, { "name": "offset", "in": "query", "required": false, "schema": { "type": "integer", "description": "Offset", "minimum": 0, "maximum": 250000, "default": 0 }, "description": "Offset" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "Verified observations; inspect meta and coverage for freshness and partial history", "content": { "application/json": { "schema": { "type": [ "object", "null" ], "properties": { "data": { "type": [ "object", "null" ], "properties": { "mint": { "type": [ "string", "null" ] }, "items": { "type": [ "array", "null" ] }, "limit": { "type": [ "number", "null" ] }, "offset": { "type": [ "number", "null" ] }, "totalBurned": {}, "partial": { "type": [ "boolean", "null" ] } } }, "meta": { "type": [ "object", "null" ], "properties": { "observedAt": {}, "ageMs": {}, "source": { "type": [ "string", "null" ] }, "partial": { "type": [ "boolean", "null" ] }, "commitment": { "type": [ "string", "null" ] }, "freshnessSeconds": { "type": [ "number", "null" ] }, "discoveryAt": { "type": [ "string", "null" ] } } } } }, "example": { "data": { "mint": "HkQeu1qNSFYmpidYBQeSzDVx5Lzpz58UEEwbNe4DNET1", "items": [], "limit": 1, "offset": 0, "totalBurned": null, "partial": true }, "meta": { "observedAt": null, "ageMs": null, "source": "cache", "partial": true, "commitment": "finalized", "freshnessSeconds": 120, "discoveryAt": "2026-10-31T05:25:18.367Z" } } } } }, "400": { "description": "Invalid or unknown query" }, "402": { "description": "Pay with x402; the x4o2-free-key extension describes signup and Authorization" }, "404": { "description": "Unknown token or exact market" }, "429": { "description": "Free-key quota or pause: Retry-After, docs Link and upgrade object with price, networks, payment instructions and UTC daily reset. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows (reset in seconds)." }, "503": { "description": "Provider unavailable or exhausted budget; no payment settlement" } } ``` - [GET /v1/payouts](https://stonkfun.x4o2.com/v1/payouts): Verified protocol claim transfers and fee accrual events (0.001 USD via x402) Request body: ```json {} ``` Parameters: ```json [ { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "description": "Page size", "minimum": 1, "maximum": 100, "default": 20 }, "description": "Page size", "example": "1" }, { "name": "offset", "in": "query", "required": false, "schema": { "type": "integer", "description": "Offset", "minimum": 0, "maximum": 250000, "default": 0 }, "description": "Offset" }, { "name": "mint", "in": "query", "required": false, "schema": { "type": "string", "description": "Exact Solana token mint" }, "description": "Exact Solana token mint" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "Verified observations; inspect meta and coverage for freshness and partial history", "content": { "application/json": { "schema": { "type": [ "object", "null" ], "properties": { "data": { "type": [ "object", "null" ], "properties": { "items": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "signature": { "type": [ "string", "null" ] }, "slot": { "type": [ "number", "null" ] }, "quoteMint": { "type": [ "string", "null" ] }, "protocolFeeRaw": { "type": [ "string", "null" ] }, "platformFeeRaw": { "type": [ "string", "null" ] }, "creatorFeeRaw": { "type": [ "string", "null" ] }, "shareFeeRaw": { "type": [ "string", "null" ] }, "quoteDecimals": { "type": [ "number", "null" ] }, "kind": { "type": [ "string", "null" ] }, "observedAt": { "type": [ "string", "null" ] } } } }, "limit": { "type": [ "number", "null" ] }, "offset": { "type": [ "number", "null" ] }, "rewardDistributions": {}, "partial": { "type": [ "boolean", "null" ] }, "coverage": { "type": [ "string", "null" ] } } }, "meta": { "type": [ "object", "null" ], "properties": { "observedAt": { "type": [ "number", "null" ] }, "ageMs": { "type": [ "number", "null" ] }, "source": { "type": [ "string", "null" ] }, "partial": { "type": [ "boolean", "null" ] }, "commitment": { "type": [ "string", "null" ] }, "freshnessSeconds": { "type": [ "number", "null" ] }, "discoveryAt": { "type": [ "string", "null" ] } } } } }, "example": { "data": { "items": [ { "signature": "2GMSptzLTmsUuhz9ZbcCAYiiPGyXDKMXPKrvi1h7Y9vkZ7PL1WMLDScNVPxa2VGapMQKeeShYcgw1eXEZqP6D5a9", "slot": 463567913, "quoteMint": "XsoCS1TfEyfFhfvj8EtZ528L3CaKBDBRqRapnBbDF2W", "protocolFeeRaw": "7284", "platformFeeRaw": "29132", "creatorFeeRaw": "0", "shareFeeRaw": "0", "quoteDecimals": 8, "kind": "fees", "observedAt": "2026-10-31T05:18:10.000Z" } ], "limit": 1, "offset": 0, "rewardDistributions": null, "partial": true, "coverage": "Observed protocol fee accruals and verified claim transfers only; no inferred holder reward yield." }, "meta": { "observedAt": 1793423890000, "ageMs": 428868, "source": "stale", "partial": true, "commitment": "finalized", "freshnessSeconds": 120, "discoveryAt": "2026-10-31T05:25:18.367Z" } } } } }, "400": { "description": "Invalid or unknown query" }, "402": { "description": "Pay with x402; the x4o2-free-key extension describes signup and Authorization" }, "404": { "description": "Unknown token or exact market" }, "429": { "description": "Free-key quota or pause: Retry-After, docs Link and upgrade object with price, networks, payment instructions and UTC daily reset. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows (reset in seconds)." }, "503": { "description": "Provider unavailable or exhausted budget; no payment settlement" } } ``` - [GET /v1/rewards](https://stonkfun.x4o2.com/v1/rewards): Observed fee events; holder reward distributions unknown (0.001 USD via x402) Request body: ```json {} ``` Parameters: ```json [ { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "description": "Page size", "minimum": 1, "maximum": 100, "default": 20 }, "description": "Page size", "example": "1" }, { "name": "offset", "in": "query", "required": false, "schema": { "type": "integer", "description": "Offset", "minimum": 0, "maximum": 250000, "default": 0 }, "description": "Offset" }, { "name": "mint", "in": "query", "required": false, "schema": { "type": "string", "description": "Exact Solana token mint" }, "description": "Exact Solana token mint" } ] ``` Responses (schemas and captured examples): ```json { "200": { "description": "Verified observations; inspect meta and coverage for freshness and partial history", "content": { "application/json": { "schema": { "type": [ "object", "null" ], "properties": { "data": { "type": [ "object", "null" ], "properties": { "items": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "signature": { "type": [ "string", "null" ] }, "slot": { "type": [ "number", "null" ] }, "quoteMint": { "type": [ "string", "null" ] }, "protocolFeeRaw": { "type": [ "string", "null" ] }, "platformFeeRaw": { "type": [ "string", "null" ] }, "creatorFeeRaw": { "type": [ "string", "null" ] }, "shareFeeRaw": { "type": [ "string", "null" ] }, "quoteDecimals": { "type": [ "number", "null" ] }, "kind": { "type": [ "string", "null" ] }, "observedAt": { "type": [ "string", "null" ] } } } }, "limit": { "type": [ "number", "null" ] }, "offset": { "type": [ "number", "null" ] }, "rewardDistributions": {}, "partial": { "type": [ "boolean", "null" ] }, "coverage": { "type": [ "string", "null" ] } } }, "meta": { "type": [ "object", "null" ], "properties": { "observedAt": { "type": [ "number", "null" ] }, "ageMs": { "type": [ "number", "null" ] }, "source": { "type": [ "string", "null" ] }, "partial": { "type": [ "boolean", "null" ] }, "commitment": { "type": [ "string", "null" ] }, "freshnessSeconds": { "type": [ "number", "null" ] }, "discoveryAt": { "type": [ "string", "null" ] } } } } }, "example": { "data": { "items": [ { "signature": "2GMSptzLTmsUuhz9ZbcCAYiiPGyXDKMXPKrvi1h7Y9vkZ7PL1WMLDScNVPxa2VGapMQKeeShYcgw1eXEZqP6D5a9", "slot": 463567913, "quoteMint": "XsoCS1TfEyfFhfvj8EtZ528L3CaKBDBRqRapnBbDF2W", "protocolFeeRaw": "7284", "platformFeeRaw": "29132", "creatorFeeRaw": "0", "shareFeeRaw": "0", "quoteDecimals": 8, "kind": "fees", "observedAt": "2026-10-31T05:18:10.000Z" } ], "limit": 1, "offset": 0, "rewardDistributions": null, "partial": true, "coverage": "Observed protocol fee accruals and verified claim transfers only; no inferred holder reward yield." }, "meta": { "observedAt": 1793423890000, "ageMs": 428892, "source": "stale", "partial": true, "commitment": "finalized", "freshnessSeconds": 120, "discoveryAt": "2026-10-31T05:25:18.367Z" } } } } }, "400": { "description": "Invalid or unknown query" }, "402": { "description": "Pay with x402; the x4o2-free-key extension describes signup and Authorization" }, "404": { "description": "Unknown token or exact market" }, "429": { "description": "Free-key quota or pause: Retry-After, docs Link and upgrade object with price, networks, payment instructions and UTC daily reset. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows (reset in seconds)." }, "503": { "description": "Provider unavailable or exhausted budget; no payment settlement" } } ``` - [GET /v1/stats](https://stonkfun.x4o2.com/v1/stats): Protocol coverage, pool counts and ingestion freshness (0.001 USD via x402) Request body: ```json {} ``` Parameters: ```json [] ``` Responses (schemas and captured examples): ```json { "200": { "description": "Verified observations; inspect meta and coverage for freshness and partial history", "content": { "application/json": { "schema": { "type": [ "object", "null" ], "properties": { "data": { "type": [ "object", "null" ], "properties": { "platformConfigs": { "type": [ "array", "null" ], "items": { "type": [ "string", "null" ] } }, "tokens": { "type": [ "number", "null" ] }, "pools": { "type": [ "array", "null" ], "items": { "type": [ "object", "null" ], "properties": { "kind": { "type": [ "string", "null" ] }, "lifecycle": { "type": [ "string", "null" ] }, "count": { "type": [ "number", "null" ] } } } }, "pairings": { "type": [ "number", "null" ] }, "pendingTransactions": { "type": [ "number", "null" ] }, "lastChainAt": { "type": [ "string", "null" ] }, "lastReceiptAt": { "type": [ "string", "null" ] }, "fullScanAt": {}, "gapAt": {}, "revenueUsd": {}, "totalHolders": {}, "partial": { "type": [ "boolean", "null" ] } } }, "meta": { "type": [ "object", "null" ], "properties": { "observedAt": { "type": [ "number", "null" ] }, "ageMs": { "type": [ "number", "null" ] }, "source": { "type": [ "string", "null" ] }, "partial": { "type": [ "boolean", "null" ] }, "commitment": { "type": [ "string", "null" ] }, "freshnessSeconds": { "type": [ "number", "null" ] }, "discoveryAt": { "type": [ "string", "null" ] } } } } }, "example": { "data": { "platformConfigs": [ "4E876qZTE9FJMrBzgVtBrSrzz2TLivB5Y5QXPjB4gZL7", "6BwHHDg3u1854jC8PDLXvR4spTcLNaoBxLJNGC4nTESt" ], "tokens": 12212, "pools": [ { "kind": "cpmm", "lifecycle": "graduated", "count": 4 }, { "kind": "launchlab", "lifecycle": "bonding", "count": 12208 }, { "kind": "launchlab", "lifecycle": "graduated", "count": 4 } ], "pairings": 397, "pendingTransactions": 501, "lastChainAt": "2026-10-31T05:18:10.000Z", "lastReceiptAt": "2026-10-31T05:25:06.251Z", "fullScanAt": null, "gapAt": null, "revenueUsd": null, "totalHolders": null, "partial": true }, "meta": { "observedAt": 1793424318367, "ageMs": 620, "source": "cache", "partial": true, "commitment": "finalized", "freshnessSeconds": 120, "discoveryAt": "2026-10-31T05:25:18.367Z" } } } } }, "400": { "description": "Invalid or unknown query" }, "402": { "description": "Pay with x402; the x4o2-free-key extension describes signup and Authorization" }, "404": { "description": "Unknown token or exact market" }, "429": { "description": "Free-key quota or pause: Retry-After, docs Link and upgrade object with price, networks, payment instructions and UTC daily reset. Free-key responses include RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset for minute and day windows (reset in seconds)." }, "503": { "description": "Provider unavailable or exhausted budget; no payment settlement" } } ```