Signal Channel#
Real-time push of on-chain trading signals from Smart Money / KOL / Whale wallets. Subscribe after login; data is pushed whenever a new signal is triggered.
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 |
| chainIndex | String | Yes | Unique identifier for the chain. Pass the chain ID (e.g., 1 for Ethereum). Single-chain only. |
Response Parameters#
| Parameter | Type | Description |
|---|---|---|
| event | String | Event type: subscribe unsubscribe error |
| arg | Object | Subscribed channel |
| channel | String | Channel name |
| signal | Object | Signal list |
| > timestamp | String | Timestamp when the signal was triggered |
| > chainIndex | String | Unique identifier for the chain |
| > token | Object | Token information |
| >> tokenAddress | String | Token contract address |
| >> symbol | String | Token symbol |
| >> name | String | Token name |
| >> logo | String | Token logo URL |
| >> marketCapUsd | String | Market cap (USD) |
| >> holders | String | Number of holder addresses |
| >> top10HolderPercent | String | Top 10 holder percentage |
| > price | String | Token price (USD) at signal trigger time |
| > walletType | String | Wallet type code. Enum: 1 = Smart Money, 2 = KOL / Influencer, 3 = Whales. Multiple values separated by commas |
| > triggerWalletCount | String | Number of wallet addresses that triggered the signal |
| > triggerWalletAddress | String | List of wallet addresses, comma-separated |
| > amountUsd | String | Trade amount (USD) |
| > soldRatioPercent | String | Sell-off ratio percentage |
| code | String | Error code (only returned when event=error) |
| msg | String | Error message (only returned when event=error) |
Push Data Parameters#
| Parameter | Type | Description |
|---|---|---|
| arg | Object | Successfully subscribed channel info |
| > channel | String | Channel name |
| > timestamp | String | Timestamp when the signal was triggered |
| > chainIndex | String | Unique identifier for the chain |
| > token | Object | Token information |
| >> tokenAddress | String | Token contract address |
| >> symbol | String | Token symbol |
| >> name | String | Token name |
| >> logo | String | Token logo URL |
| >> marketCapUsd | String | Market cap (USD) |
| >> holders | String | Number of holder addresses |
| >> top10HolderPercentage | String | Top 10 holder percentage |
| > price | String | Token price (USD) at signal trigger time |
| > walletType | String | Wallet type code. Enum: 1 = Smart Money, 2 = KOL / Influencer, 3 = Whales. Multiple values separated by commas |
| > triggerWalletCount | String | Number of wallet addresses that triggered the signal |
| > triggerWalletAddress | String | List of wallet addresses, comma-separated |
| > amountUsd | String | Trade amount (USD) |
| > soldRatioPercentage | String | Sell-off ratio percentage |
Request Example#
Json
{
"op": "subscribe",
"args": [
{
"channel": "signal",
"chainIndex": "1"
}
]
}
Response Example#
Successful response example
Json
{
"event": "subscribe",
"arg": {
"channel": "signal",
"chainIndex": "1"
},
"connId": "a4d3ae55"
}
Failure response example
Json
{
"event": "error",
"code": "60012",
"msg": "Invalid request: {\"op\": \"subscribe\", \"argss\":[{ \"channel\" , \"chainIndex\" : \"1\", \"tokenContractAddress\" : \"0x382bb369d343125bfb2117af9c149795c6c65c50\"}]}",
"connId": "a4d3ae55"
}
Push data example
Json
{
"arg": {
"channel": "signal",
"chainIndex": "1",
"timestamp": "1739439633000",
"token": {
"tokenAddress": "0x382bb369d343125bfb2117af9c149795c6c65c50",
"symbol": "ORBS",
"name": "Orbs",
"logo": "https://static.okx.com/cdn/wallet/logo/ORBS.png",
"marketCapUsd": "89234567.12",
"holders": "23456",
"top10HolderPercentage": "35.6"
},
"price": "0.0421",
"walletType": "1,2",
"triggerWalletCount": "5",
"triggerWalletAddress": "0xabc...111,0xdef...222",
"amountUsd": "128000.00",
"soldRatioPercentage": "0"
}
}