Token Update Channel#
Real-time push of incremental market metric updates for Meme tokens. Data is pushed whenever metrics change.
URL Path
wss://wsdex.okx.com/ws/v6/dex
Request Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
| op | String | Yes | Operation: subscribe unsubscribe |
| args | Array | Yes | List of channels to subscribe |
| channel | String | Yes | Channel name: dex-market-memepump-update-metrics-openapi |
| chainIndex | String | Yes | Unique identifier for the chain. Pass the chain ID (e.g., 501 for Solana). Single-chain only. |
Response Parameters#
| Parameter | Type | Description |
|---|---|---|
| event | String | Event type: subscribe unsubscribe error |
| arg | Object | Subscribed channel |
| channel | String | Channel name |
| code | String | Error code (only returned when event=error) |
| msg | String | Error message (only returned when event=error) |
| connId | String | WebSocket connection ID |
Push Data Parameters#
| Parameter | Type | Description |
|---|---|---|
| arg | Object | Successfully subscribed channel info |
| > channel | String | Channel name |
| > chainIndex | String | Unique identifier for the chain |
| data | Array | Batched real-time token metric updates (each batch contains multiple token objects) |
| > chainIndex | String | Chain ID (e.g., 501=Solana) |
| > protocolId | String | Protocol source 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 (Unix timestamp in milliseconds) |
| > market | Object | Market data (incremental update) |
| >> marketCapUsd | String | Market cap (USD) |
| >> volumeUsd1h | String | 1-hour trading volume (USD) |
| >> txCount1h | String | 1-hour total transaction count |
| >> buyTxCount1h | String | 1-hour buy transaction count |
| >> sellTxCount1h | String | 1-hour sell transaction count |
| > bondingPercent | String | Bonding curve progress (%) |
| > mayhemModeTimeRemaining | String | Remaining time for Pump.fun Mayhem Mode; empty if token is not in this mode |
| > tags | Object | Tag / audit data |
| >> top10HoldingsPercent | String | Top 10 holders percentage (%) |
| >> devHoldingsPercent | String | Dev holdings percentage (%) |
| >> insidersPercent | String | Insiders percentage (%) |
| >> bundlersPercent | String | Bundlers percentage (%) |
| >> snipersPercent | String | Snipers percentage (%) |
| >> freshWalletsPercent | String | Fresh wallets percentage (%) |
| >> suspectedPhishingWalletPercent | String | Suspected phishing wallet percentage (%) |
| >> totalHolders | String | Total number of token holder addresses |
| > social | Object | Social media information |
| >> x | String | X (Twitter) link |
| >> telegram | String | Telegram link |
| >> website | String | Website link |
| >> dexScreenerPaid | Boolean | DEX Screener paid |
| >> communityTakeover | Boolean | Community takeover (CTO) |
| >> liveOnPumpFun | Boolean | Live on Pump.fun |
| > bagsFeeClaimed | Boolean | Whether bags fee has been claimed |
Request Example#
Json
{
"op": "subscribe",
"args": [
{
"channel": "dex-market-memepump-update-metrics-openapi",
"chainIndex": "501"
}
]
}
Response Example#
Successful response example
Json
{
"event": "subscribe",
"arg": {
"channel": "dex-market-memepump-update-metrics-openapi",
"chainIndex": "501"
},
"connId": "a4d3ae55"
}
Failure response example
Json
{
"event": "error",
"code": "60012",
"msg": "Invalid request: {\"op\": \"subscribe\", \"argss\":[{ \"channel\": \"dex-market-memepump-update-metrics-openapi\", \"chainIndex\": \"501\"}]}",
"connId": "a4d3ae55"
}
Push data example
Json
{
"arg": {
"channel": "dex-market-memepump-update-metrics-openapi",
"chainIndex": "501"
},
"data": [
[
{
"bagsFeeClaimed": false,
"bondingPercent": "0.02",
"chainIndex": "501",
"createdTimestamp": "1773129702000",
"creatorAddress": "5DZ1ghesLRDzioYoDoyFejgxRwFBxgs9P85kv6d8Zd7X",
"logoUrl": "https://static.coinall.ltd/cdn/web3/currency/token/default-logo/token_custom_logo_default_P/type=default_350_0",
"market": {
"buyTxCount1h": "1",
"marketCapUsd": "2457.472431547000000000",
"sellTxCount1h": "0",
"txCount1h": "1",
"volumeUsd1h": "4.011085498679725011505911"
},
"name": "$PRISM",
"protocolId": "136137",
"quoteTokenAddress": "So11111111111111111111111111111111111111112",
"social": {
"communityTakeover": false,
"dexScreenerPaid": false,
"liveOnPumpFun": false
},
"symbol": "PSM",
"tags": {
"bundlersPercent": "0",
"devHoldingsPercent": "0.0458",
"freshWalletsPercent": "0",
"insidersPercent": "0",
"snipersPercent": "0.0458",
"suspectedPhishingWalletPercent": "0",
"top10HoldingsPercent": "0.16320",
"totalHolders": "1"
},
"tokenAddress": "SXEdooR2e1RHpYdarMqFPrkhTBARn6NhT88nXjVrD2X"
}
]
]
}