Skip to content

Scopes

A key carries a set of scopes. Each public route belongs to exactly one scope, and a call to a route outside the key’s scopes is refused with 403 API_SCOPE_FORBIDDEN and requiredScope naming the scope you need.

New keys receive every scope except moderation.read; when creating a key you may also pick a smaller subset of that default grant. Only the pump.fun team can add moderation.read or change a key’s scopes afterwards; ask support.

67 routes across six families. The API reference groups operations by the same tags, in the same order.

ScopeRoutesWhat it coversExample routes
profiles.read13User profiles, lookups and search.POST /achievements/overlays
POST /profiles/generated-media
GET /profiles/verified
graph.read17Follow graph, likers, reposters and group membership.GET /callout/{calloutId}/likers
GET /callout/{calloutId}/reposters
GET /callout/replies/{replyId}/likers
content.read18Callouts, replies, posts and public feeds.GET /callout/{calloutId}
GET /callout/{calloutId}/quotes
GET /callout/{calloutId}/replies
leaderboards.read11PnL leaderboards, competitions and creator payouts.GET /competitions
GET /competitions/{id}/entries/{entryId}
GET /competitions/{id}/entries/{entryId}/highlights
positions.read7Positions, trades and portfolios of public wallets.GET /mint-positions/{mint}
GET /portfolio-summary
POST /portfolio-summary/balances
moderation.read1The public ban oracle. Outside every default grant; request it explicitly.GET /moderation/ban/address/{address}

The lists below are generated from the public OpenAPI document at build time.

profiles.read

User profiles, lookups and search. 13 routes.

RouteSummary
POST /achievements/overlaysTop badge ids for a batch of avatars
POST /profiles/generated-mediaVerified badge plus generated share media
GET /profiles/verifiedThe ten top daily PnL leaders
POST /profiles/verifiedVerified status for a list of wallets or user ids
GET /search/resolveClassify 1-5 identifiers in one hop
GET /usersList users
GET /users/{address}/achievementsA user's achievement unlocks plus live progress on…
GET /users/{address}/callout-statsA user's callout performance stats
GET /users/{id}Get a user by wallet address or user id
GET /users/{id}/overviewThe profile header in one read
POST /users/batchFetch users by addresses in batch
GET /users/search-v2Search users
GET /users/username-exists/{username}Check if a username exists

graph.read

Follow graph, likers, reposters and group membership. 17 routes.

RouteSummary
GET /callout/{calloutId}/likersList the profiles who liked a callout
GET /callout/{calloutId}/repostersList the profiles who reposted a callout
GET /callout/replies/{replyId}/likersList the profiles who liked a callout reply
GET /callout/replies/{replyId}/repostersList the profiles who reposted a callout reply
GET /following/single/{id}Get a single follow relationship
GET /following/v3/followers/{userId}One page of a user's followers
GET /following/v3/followers/count/{userId}Get a user follower count
GET /following/v3/followers/search/{userId}Search within a user's followers
GET /following/v3/following/{userId}One page of the users a user is following
GET /following/v3/following/count/{userId}Get a user following count
GET /following/v3/following/search/{userId}Search within the users a user is following
GET /groups/{groupId}/membersA page of a group's members, owner first
GET /groups/{groupId}/members/pnlThe group's active members ranked by windowed PnL
GET /pnl-leaderboard/follow-suggestionsGet follow suggestions sampled from the PNL leaderboard
GET /pnl-leaderboard/onboarding-suggestionsGet the scored, sampled follow suggestions for the…
GET /posts/{postId}/likersProfiles who liked a post, newest like first…
GET /posts/{postId}/repostersProfiles who plain-reposted a post, newest first…

content.read

Callouts, replies, posts and public feeds. 18 routes.

RouteSummary
GET /callout/{calloutId}Get a callout by id with its author identity
GET /callout/{calloutId}/quotesList quote posts of a callout
GET /callout/{calloutId}/repliesList replies on a callout
GET /callout/{calloutId}/tailersList the wallets that tailed a callout
GET /callout/coin/{coin}List top callouts on a coin
GET /callout/leaderboard-stats/{userId}Get leaderboard stats for a user
GET /callout/list/{userId}List callouts for a user
GET /callout/replies/{replyId}/chainGet a reply's ancestor chain up to its callout
GET /callout/replies/list/{userId}List a user's callout replies with thread context
GET /callout/reposts/list/{userId}List a user's reposts
GET /callout/user/{userId}/mint/{coinMint}Get a user callout for a coin
GET /feed/video-feedGet the curated video feed
GET /home-feedGet the paginated home feed of trending coins and…
GET /home-feed/newThe global "New" callouts feed
GET /postsPosts by id
GET /posts/{postId}One post with its one-level embeds and viewer stamps…
GET /posts/{postId}/quotesLive quotes of a post, newest first, keyset-paginated
GET /posts/{postId}/repliesDirect live replies to a post, newest first…

leaderboards.read

PnL leaderboards, competitions and creator payouts. 11 routes.

RouteSummary
GET /competitionsEvery competition in three viewer-independent buckets
GET /competitions/{id}/entries/{entryId}One entry with its snapshot roster and each member's…
GET /competitions/{id}/entries/{entryId}/highlightsOne entry's highlight reel
GET /competitions/{id}/highlightsThe competition's biggest winning legs across every…
GET /competitions/{idOrSlug}One competition by id or slug with its ranked board
GET /mayhem/{mint}/top-tradersGet the trader leaderboard for a mayhem coin
GET /payouts/leaderboardThe confirmed-payout leaderboard
GET /pnl-leaderboardGet the PNL leaderboard for a period
GET /pnl-leaderboard/groupsGet the group PNL leaderboard for a period
GET /pnl-leaderboard/positionsGet the PNL position leaderboard for a period
GET /pnl-leaderboard/top-trader-trades/{mint}A coin's trades from accounts ranked in the top 50 of…

positions.read

Positions, trades and portfolios of public wallets. 7 routes.

RouteSummary
GET /mint-positions/{mint}Get the users holding a position in a mint
GET /portfolio-summaryMerged Solana+EVM portfolio PnL for a wallet…
POST /portfolio-summary/balancesMultichain balance totals for a page of wallets in one…
GET /portfolio-summary/chartPortfolio value series
GET /user-portfolio/{userId}A user's whole-portfolio positions
GET /user-positions/{userId}Get a user's position
GET /user-trades/{id}One page of an account's trades, newest first

moderation.read

The public ban oracle. Outside every default grant; request it explicitly. 1 routes.

RouteSummary
GET /moderation/ban/address/{address}Check whether a wallet address is banned
  • moderation.read is the public ban oracle (GET /moderation/ban/address/{address}). It answers whether a wallet address is banned on pump.fun and nothing else. It is outside every default grant because it is an oracle: request it only if your product needs it.
  • Scopes are read-only by construction. There is no write, trading or on-behalf-of scope and none is planned.
  • Market data (coin prices, trades, candles) is not part of this API today.