Strategy API

Get Token List#

Retrieve the list of tokens matching specified filter criteria,with a maximum limit of 30 entries.

Request URL#

GET https://web3.okx.com/api/v6/dex/market/memepump/tokenList

Request Parameters#

ParameterTypeRequiredDescription
chainIndexStringYesUnique identifier for the blockchain network. e.g., 501 = Solana, 56 = BSC. Only single-chain queries are supported.
stageStringYesToken lifecycle stage filter. Enum: NEW = newly created tokens, MIGRATING = tokens nearly migrated to DEX, MIGRATED = tokens that have completed migration to DEX.
walletAddressStringNoUser's wallet address. When provided, response will include user-specific position data (e.g., holdings, P&L).
protocolIdListStringNoComma-separated protocol IDs to filter by. e.g., "120596" for PumpFun, "120596,139661" for multiple protocols. Get available protocol IDs from /memepump/supported/chainsProtocol.
quoteTokenAddressListStringNoComma-separated quote token contract addresses to filter by. e.g., "So11111111111111111111111111111111111111111" for SOL. Filters tokens by their trading pair's quote currency.
minTop10HoldingsPercentStringNoMinimum percentage of total supply held by top 10 holders. Value range: 0–100. e.g., "10" means top 10 holders hold at least 10%.
maxTop10HoldingsPercentStringNoMaximum percentage of total supply held by top 10 holders. Value range: 0–100.
minDevHoldingsPercentStringNoMinimum percentage of total supply held by the developer wallet. Value range: 0–100.
maxDevHoldingsPercentStringNoMaximum percentage of total supply held by the developer wallet. Value range: 0–100.
minInsidersPercentStringNoMinimum percentage of insider wallets among all holders. Value range: 0–100.
maxInsidersPercentStringNoMaximum percentage of insider wallets among all holders. Value range: 0–100.
minBundlersPercentStringNoMinimum percentage of bundler wallets among all holders. Value range: 0–100. Bundlers are wallets that bundle multiple transactions together.
maxBundlersPercentStringNoMaximum percentage of bundler wallets among all holders. Value range: 0–100.
minSnipersPercentStringNoMinimum percentage of sniper wallets among all holders. Value range: 0–100. Snipers are wallets that buy tokens extremely early after launch.
maxSnipersPercentStringNoMaximum percentage of sniper wallets among all holders. Value range: 0–100.
minFreshWalletsPercentStringNoMinimum percentage of fresh (newly created) wallets among all holders. Value range: 0–100.
maxFreshWalletsPercentStringNoMaximum percentage of fresh (newly created) wallets among all holders. Value range: 0–100.
minSuspectedPhishingWalletPercentStringNoMinimum percentage of suspected phishing wallets among all holders. Value range: 0–100.
maxSuspectedPhishingWalletPercentStringNoMaximum percentage of suspected phishing wallets among all holders. Value range: 0–100.
minBotTradersStringNoMinimum number of bot trader wallets.
maxBotTradersStringNoMaximum number of bot trader wallets.
minDevMigratedStringNoMinimum number of tokens previously migrated by the same developer. Useful for evaluating dev history.
maxDevMigratedStringNoMaximum number of tokens previously migrated by the same developer.
communityTakeoverBooleanNoFilter by whether the token has undergone a community takeover (CTO). true = only CTO tokens, false = only non-CTO tokens.
minFeesNativeStringNoMinimum total fees spent on the token, denominated in native chain currency (e.g., SOL).
maxFeesNativeStringNoMaximum total fees spent on the token, denominated in native chain currency.
minTxCountStringNoMinimum total transaction count for the token.
maxTxCountStringNoMaximum total transaction count for the token.
minBondingPercentStringNoMinimum bonding curve completion percentage. Value range: 0–100. Applicable when stage=NEW or stage=MIGRATING.
maxBondingPercentStringNoMaximum bonding curve completion percentage. Value range: 0–100.
minMarketCapUsdStringNoMinimum market capitalization in USD. e.g., "50000" means market cap ≥ $50,000.
maxMarketCapUsdStringNoMaximum market capitalization in USD.
minVolumeUsdStringNoMinimum 24-hour trading volume in USD.
maxVolumeUsdStringNoMaximum 24-hour trading volume in USD.
minHoldersStringNoMinimum number of unique token holders. e.g., "100" means at least 100 holders.
maxHoldersStringNoMaximum number of unique token holders.
minTokenAgeStringNoMinimum token age in minutes. When stage=MIGRATED, counted from migration timestamp; otherwise from creation timestamp. e.g., "60" means at least 1 hour old.
maxTokenAgeStringNoMaximum token age in minutes. When stage=MIGRATED, counted from migration timestamp; otherwise from creation timestamp.
minBuyTxCountStringNoMinimum number of buy transactions in the last 1 hour.
maxBuyTxCountStringNoMaximum number of buy transactions in the last 1 hour.
minSellTxCountStringNoMinimum number of sell transactions in the last 1 hour.
maxSellTxCountStringNoMaximum number of sell transactions in the last 1 hour.
minTokenSymbolLengthStringNoMinimum length of the token ticker symbol. e.g., "3" means symbol has at least 3 characters.
maxTokenSymbolLengthStringNoMaximum length of the token ticker symbol.
hasAtLeastOneSocialLinkBooleanNoFilter by whether the token has at least one social media link. true = must have at least one social link.
hasXBooleanNoFilter by whether the token has an X (Twitter) link. true = must have X link.
hasTelegramBooleanNoFilter by whether the token has a Telegram link. true = must have Telegram link.
hasWebsiteBooleanNoFilter by whether the token has an official website link. true = must have a website.
websiteTypeListStringNoComma-separated website type codes. Enum: 0 = official website, 1 = YouTube, 2 = Twitch, 3 = Facebook, 4 = Instagram, 5 = TikTok, 6 = Discord, 7 = GitHub. e.g., "1,6" for tokens with YouTube or Discord links.
dexScreenerPaidBooleanNoFilter by whether the token has paid for DexScreener promotion. true = only tokens that have paid for DexScreener.
liveOnPumpFunBooleanNoFilter by whether the token is currently live streaming on PumpFun. true = only tokens with active PumpFun live stream.
bagsFeeClaimedBooleanNoFilter by whether the developer has claimed bags fees (royalties). true = developer has claimed fees.
devSellAllBooleanNoFilter by whether the developer has sold all their token holdings. true = developer has sold everything.
devStillHoldingBooleanNoFilter by whether the developer is still holding tokens. true = developer still holds tokens.
keywordsIncludeStringNoFilter tokens whose name or symbol contains the specified keyword. Case-insensitive. e.g., "dog" matches "DOGE", "DogWifHat".
keywordsExcludeStringNoExclude tokens whose name or symbol contains the specified keyword. Case-insensitive.

Response Parameters#

ParameterTypeDescription
cursorStringPagination cursor for the next page. Empty if no more data.
itemsArrayToken list.
>chainIndexStringChain ID (e.g., 501 = Solana).
>protocolIdStringProtocol ID (e.g., 1 = PUMP_FUN).
>quoteTokenAddressStringQuote token contract address.
>tokenContractAddressStringToken contract address.
>symbolStringToken symbol.
>nameStringToken name.
>logoUrlStringToken logo URL.
>createdTimestampStringToken creation time (millisecond timestamp).
>marketObjectMarket data.
>>marketCapUsdStringMarket cap (USD).
>>volumeUsd1hString1h trading volume (USD).
>>txCount1hString1h total transaction count.
>>buyTxCount1hString1h buy transaction count.
>>sellTxCount1hString1h sell transaction count.
>bondingPercentStringBonding curve progress (%).
>mayhemModeTimeRemainingStringPump.fun Mayhem Mode remaining time. Empty if not applicable.
>tagsObjectAudit / tag data.
>>top10HoldingsPercentStringTop 10 holders' combined holdings (%).
>>devHoldingsPercentStringDeveloper holdings (%).
>>insidersPercentStringInsiders holdings (%).
>>bundlersPercentStringBundlers holdings (%).
>>snipersPercentStringSnipers holdings (%).
>>freshWalletsPercentStringFresh wallets holdings (%).
>>suspectedPhishingWalletPercentStringSuspected phishing wallets (%).
>>totalHoldersStringTotal number of holder addresses.
>socialObjectSocial media info.
>>xStringX (Twitter) link.
>>telegramStringTelegram link.
>>websiteStringWebsite link.
>>websiteTypeStringWebsite type identifier.
>>dexScreenerPaidBooleanWhether DEX Screener ads are active.
>>communityTakeoverBooleanCommunity takeover (CTO) flag.
>>liveOnPumpFunBooleanLive on Pump.fun flag.
>bagsFeeClaimedBooleanWhether bags fee has been claimed.
>apedStringNumber of co-invested (aped) wallets.
>migratedBeginTimestampStringMigration start time (ISO 8601).
>migratedEndTimestampStringMigration end time (ISO 8601).
>creatorAddressStringToken creator wallet address.

Request Example#

Shell
curl --location --request GET 'https://web3.okx.com/api/v6/dex/market/memepump/tokenList?chainIndex=501&protocolId=1&sort=createdTimestamp&order=desc&limit=30' \
--header 'OK-ACCESS-KEY: 37c541a1-****-****-****-10fe7a038418' \
--header 'OK-ACCESS-SIGN: leaV********3uw=' \
--header 'OK-ACCESS-PASSPHRASE: 1****6' \
--header 'OK-ACCESS-TIMESTAMP: 2023-10-18T12:21:41.274Z'

Response Example#

Json
{
  "code": "0",
  "msg": "",
  "data": {
    "cursor": "eyJsYXN0SWQiOiI3R2Y5Li4ucHVtcCJ9",
    "items": [
      {
        "chainIndex": "501",
        "protocolId": "1",
        "quoteTokenAddress": "11111111111111111111111111111111",
        "tokenContractAddress": "7Gf9...pump",
        "symbol": "TETANUS",
        "name": "tetanus",
        "logoUrl": "https://static.okx.com/cdn/assets/imgs/xxx.png",
        "createdTimestamp": "1730000000000",
        "market": {
          "marketCapUsd": "154880.12",
          "volumeUsd1h": "50231.11",
          "txCount1h": "225",
          "buyTxCount1h": "128",
          "sellTxCount1h": "97"
        },
        "bondingPercent": "63.5",
        "mayhemModeTimeRemaining": "",
        "tags": {
          "top10HoldingsPercent": "0.12",
          "devHoldingsPercent": "0.10",
          "insidersPercent": "0.23",
          "bundlersPercent": "0.48",
          "snipersPercent": "0.35",
          "freshWalletsPercent": "0.50",
          "suspectedPhishingWalletPercent": "0.00",
          "totalHolders": "2080"
        },
        "social": {
          "x": "https://x.com/xxxx",
          "telegram": "https://t.me/xxxx",
          "website": "https://xxxx.com",
          "websiteType": "1",
          "dexScreenerPaid": false,
          "communityTakeover": false,
          "liveOnPumpFun": true
        },
        "bagsFeeClaimed": false,
        "aped": "12",
        "migratedBeginTimestamp": "",
        "migratedEndTimestamp": "",
        "creatorAddress": "3kXoZt...q1Re"
      }
    ]
  }
}