Get Token Vibe Timeline#
Retrieve the "vibe" (hotness) summary and historical timeline for a specific token. Returns an overall hotness score plus time-bucketed trend data with KOL activity.
Request Path#
GET
https://web3.okx.com/api/v6/dex/market/social/vibe/timelineRequest Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
| chainIndex | string | Yes | Chain ID, e.g. 1=Ethereum, 56=BNB Chain, 501=Solana. Supports all major EVM chains and Solana. |
| tokenAddress | string | Yes | Token contract address. EVM chains use 0x... format; Solana uses Base58 encoding. |
| timeFrame | string | No | Statistical period: 1=24h (last 24 hours), 2=72h (last 72 hours), 3=7d (last 7 days), 4=30d (last 30 days). Default 1. |
Response Parameters#
| Field | Type | Description |
|---|---|---|
| summary | object | Vibe hotness summary metrics for the statistical window |
| > score | string | Vibe hotness score, string integer from 0–100; higher values indicate greater recent discussion activity |
| > scoreType | string | Fixed value dex_vibe_hotness, indicating the hotness score type |
| > scoreRange | string | Fixed value 0-100, indicating the score range |
| > scoreChangeRate | string | Percentage change compared to the previous period (string with sign) |
| > mentionsCount | string | Total mention count within the statistical window |
| > mentionsCountChangeRate | string | Percentage change in mention count compared to the previous period |
| > engagement | string | Total engagement (likes, retweets, etc.) within the statistical window |
| > engagementChangeRate | string | Percentage change in engagement compared to the previous period |
| > impressions | string | Total impressions within the statistical window |
| > impressionsChangeRate | string | Percentage change in impressions compared to the previous period |
| > supportFirstMentioned | boolean | Whether first-mention data is supported; affects validity of kols[].firstMention |
| timeline | array | Array of time buckets ordered chronologically (earliest to latest) |
| > ts | string | Start timestamp of the time bucket (milliseconds) |
| > score | string | Vibe hotness score for this time bucket (0–100 string) |
| > mentionCount | string | Number of KOLs participating in discussion within this time bucket |
| > kols | array | Representative KOL list for this time bucket |
| >> handle | string | KOL's X/Twitter username (without @) |
| >> nickname | string | KOL's display name |
| >> avatar | string | KOL's avatar image URL |
| >> followers | string | KOL's follower count |
Request Example#
shell
curl --location --request GET 'https://web3.okx.com/api/v6/dex/market/social/vibe/timeline?chainIndex=1&tokenAddress=0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2&timeFrame=1' \
--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": {
"summary": {
"score": "82",
"scoreType": "dex_vibe_hotness",
"scoreRange": "0-100",
"scoreChangeRate": "+15.3",
"mentionsCount": "8450",
"mentionsCountChangeRate": "+22.1",
"engagement": "345600",
"engagementChangeRate": "+18.7",
"impressions": "12800000",
"impressionsChangeRate": "+25.4",
"supportFirstMentioned": true
},
"timeline": [
{
"ts": "1697544101000",
"score": "65",
"mentionCount": "42",
"kols": [
{
"handle": "VitalikButerin",
"nickname": "vitalik.eth",
"avatar": "https://pbs.twimg.com/profile_images/977496875887558661/L86xyLF4_400x400.jpg",
"followers": "5200000"
}
]
},
{
"ts": "1697547701000",
"score": "78",
"mentionCount": "68",
"kols": [
{
"handle": "sassal0x",
"nickname": "sassal.eth",
"avatar": "https://pbs.twimg.com/profile_images/example_400x400.jpg",
"followers": "180000"
}
]
}
]
}
}