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#
| Parameter | Type | Required | Description |
|---|---|---|---|
| chainIndex | String | Yes | Unique identifier for the blockchain network. e.g., 501 = Solana, 56 = BSC. Only single-chain queries are supported. |
| stage | String | Yes | Token lifecycle stage filter. Enum: NEW = newly created tokens, MIGRATING = tokens nearly migrated to DEX, MIGRATED = tokens that have completed migration to DEX. |
| walletAddress | String | No | User's wallet address. When provided, response will include user-specific position data (e.g., holdings, P&L). |
| protocolIdList | String | No | Comma-separated protocol IDs to filter by. e.g., "120596" for PumpFun, "120596,139661" for multiple protocols. Get available protocol IDs from /memepump/supported/chainsProtocol. |
| quoteTokenAddressList | String | No | Comma-separated quote token contract addresses to filter by. e.g., "So11111111111111111111111111111111111111111" for SOL. Filters tokens by their trading pair's quote currency. |
| minTop10HoldingsPercent | String | No | Minimum percentage of total supply held by top 10 holders. Value range: 0–100. e.g., "10" means top 10 holders hold at least 10%. |
| maxTop10HoldingsPercent | String | No | Maximum percentage of total supply held by top 10 holders. Value range: 0–100. |
| minDevHoldingsPercent | String | No | Minimum percentage of total supply held by the developer wallet. Value range: 0–100. |
| maxDevHoldingsPercent | String | No | Maximum percentage of total supply held by the developer wallet. Value range: 0–100. |
| minInsidersPercent | String | No | Minimum percentage of insider wallets among all holders. Value range: 0–100. |
| maxInsidersPercent | String | No | Maximum percentage of insider wallets among all holders. Value range: 0–100. |
| minBundlersPercent | String | No | Minimum percentage of bundler wallets among all holders. Value range: 0–100. Bundlers are wallets that bundle multiple transactions together. |
| maxBundlersPercent | String | No | Maximum percentage of bundler wallets among all holders. Value range: 0–100. |
| minSnipersPercent | String | No | Minimum percentage of sniper wallets among all holders. Value range: 0–100. Snipers are wallets that buy tokens extremely early after launch. |
| maxSnipersPercent | String | No | Maximum percentage of sniper wallets among all holders. Value range: 0–100. |
| minFreshWalletsPercent | String | No | Minimum percentage of fresh (newly created) wallets among all holders. Value range: 0–100. |
| maxFreshWalletsPercent | String | No | Maximum percentage of fresh (newly created) wallets among all holders. Value range: 0–100. |
| minSuspectedPhishingWalletPercent | String | No | Minimum percentage of suspected phishing wallets among all holders. Value range: 0–100. |
| maxSuspectedPhishingWalletPercent | String | No | Maximum percentage of suspected phishing wallets among all holders. Value range: 0–100. |
| minBotTraders | String | No | Minimum number of bot trader wallets. |
| maxBotTraders | String | No | Maximum number of bot trader wallets. |
| minDevMigrated | String | No | Minimum number of tokens previously migrated by the same developer. Useful for evaluating dev history. |
| maxDevMigrated | String | No | Maximum number of tokens previously migrated by the same developer. |
| communityTakeover | Boolean | No | Filter by whether the token has undergone a community takeover (CTO). true = only CTO tokens, false = only non-CTO tokens. |
| minFeesNative | String | No | Minimum total fees spent on the token, denominated in native chain currency (e.g., SOL). |
| maxFeesNative | String | No | Maximum total fees spent on the token, denominated in native chain currency. |
| minTxCount | String | No | Minimum total transaction count for the token. |
| maxTxCount | String | No | Maximum total transaction count for the token. |
| minBondingPercent | String | No | Minimum bonding curve completion percentage. Value range: 0–100. Applicable when stage=NEW or stage=MIGRATING. |
| maxBondingPercent | String | No | Maximum bonding curve completion percentage. Value range: 0–100. |
| minMarketCapUsd | String | No | Minimum market capitalization in USD. e.g., "50000" means market cap ≥ $50,000. |
| maxMarketCapUsd | String | No | Maximum market capitalization in USD. |
| minVolumeUsd | String | No | Minimum 24-hour trading volume in USD. |
| maxVolumeUsd | String | No | Maximum 24-hour trading volume in USD. |
| minHolders | String | No | Minimum number of unique token holders. e.g., "100" means at least 100 holders. |
| maxHolders | String | No | Maximum number of unique token holders. |
| minTokenAge | String | No | Minimum token age in minutes. When stage=MIGRATED, counted from migration timestamp; otherwise from creation timestamp. e.g., "60" means at least 1 hour old. |
| maxTokenAge | String | No | Maximum token age in minutes. When stage=MIGRATED, counted from migration timestamp; otherwise from creation timestamp. |
| minBuyTxCount | String | No | Minimum number of buy transactions in the last 1 hour. |
| maxBuyTxCount | String | No | Maximum number of buy transactions in the last 1 hour. |
| minSellTxCount | String | No | Minimum number of sell transactions in the last 1 hour. |
| maxSellTxCount | String | No | Maximum number of sell transactions in the last 1 hour. |
| minTokenSymbolLength | String | No | Minimum length of the token ticker symbol. e.g., "3" means symbol has at least 3 characters. |
| maxTokenSymbolLength | String | No | Maximum length of the token ticker symbol. |
| hasAtLeastOneSocialLink | Boolean | No | Filter by whether the token has at least one social media link. true = must have at least one social link. |
| hasX | Boolean | No | Filter by whether the token has an X (Twitter) link. true = must have X link. |
| hasTelegram | Boolean | No | Filter by whether the token has a Telegram link. true = must have Telegram link. |
| hasWebsite | Boolean | No | Filter by whether the token has an official website link. true = must have a website. |
| websiteTypeList | String | No | Comma-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. |
| dexScreenerPaid | Boolean | No | Filter by whether the token has paid for DexScreener promotion. true = only tokens that have paid for DexScreener. |
| liveOnPumpFun | Boolean | No | Filter by whether the token is currently live streaming on PumpFun. true = only tokens with active PumpFun live stream. |
| bagsFeeClaimed | Boolean | No | Filter by whether the developer has claimed bags fees (royalties). true = developer has claimed fees. |
| devSellAll | Boolean | No | Filter by whether the developer has sold all their token holdings. true = developer has sold everything. |
| devStillHolding | Boolean | No | Filter by whether the developer is still holding tokens. true = developer still holds tokens. |
| keywordsInclude | String | No | Filter tokens whose name or symbol contains the specified keyword. Case-insensitive. e.g., "dog" matches "DOGE", "DogWifHat". |
| keywordsExclude | String | No | Exclude tokens whose name or symbol contains the specified keyword. Case-insensitive. |
Response Parameters#
| Parameter | Type | Description |
|---|---|---|
| cursor | String | Pagination cursor for the next page. Empty if no more data. |
| items | Array | Token list. |
| >chainIndex | String | Chain ID (e.g., 501 = Solana). |
| >protocolId | String | Protocol ID (e.g., 1 = PUMP_FUN). |
| >quoteTokenAddress | String | Quote token contract address. |
| >tokenContractAddress | String | Token contract address. |
| >symbol | String | Token symbol. |
| >name | String | Token name. |
| >logoUrl | String | Token logo URL. |
| >createdTimestamp | String | Token creation time (millisecond timestamp). |
| >market | Object | Market data. |
| >>marketCapUsd | String | Market cap (USD). |
| >>volumeUsd1h | String | 1h trading volume (USD). |
| >>txCount1h | String | 1h total transaction count. |
| >>buyTxCount1h | String | 1h buy transaction count. |
| >>sellTxCount1h | String | 1h sell transaction count. |
| >bondingPercent | String | Bonding curve progress (%). |
| >mayhemModeTimeRemaining | String | Pump.fun Mayhem Mode remaining time. Empty if not applicable. |
| >tags | Object | Audit / tag data. |
| >>top10HoldingsPercent | String | Top 10 holders' combined holdings (%). |
| >>devHoldingsPercent | String | Developer holdings (%). |
| >>insidersPercent | String | Insiders holdings (%). |
| >>bundlersPercent | String | Bundlers holdings (%). |
| >>snipersPercent | String | Snipers holdings (%). |
| >>freshWalletsPercent | String | Fresh wallets holdings (%). |
| >>suspectedPhishingWalletPercent | String | Suspected phishing wallets (%). |
| >>totalHolders | String | Total number of holder addresses. |
| >social | Object | Social media info. |
| >>x | String | X (Twitter) link. |
| >>telegram | String | Telegram link. |
| >>website | String | Website link. |
| >>websiteType | String | Website type identifier. |
| >>dexScreenerPaid | Boolean | Whether DEX Screener ads are active. |
| >>communityTakeover | Boolean | Community takeover (CTO) flag. |
| >>liveOnPumpFun | Boolean | Live on Pump.fun flag. |
| >bagsFeeClaimed | Boolean | Whether bags fee has been claimed. |
| >aped | String | Number of co-invested (aped) wallets. |
| >migratedBeginTimestamp | String | Migration start time (ISO 8601). |
| >migratedEndTimestamp | String | Migration end time (ISO 8601). |
| >creatorAddress | String | Token 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"
}
]
}
}