-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Hi everyone, I’m integrating CoinAPI WebSockets and I need help understanding how to properly subscribe to DEX market data (Uniswap/SushiSwap).
I can subscribe to CEX trades without any issues using:
"subscribe_data_type": ["trade"],
"subscribe_filter_symbol_id": ["BINANCE_SPOT_BTC_USD$"]
However, when I try the same approach with DEX symbol IDs obtained from the REST mapping endpoints:
Example (SushiSwap)
curl -L 'https://rest.coinapi.io/v1/symbols/map/SUSHISWAP-V2-ETHEREUM'
-H 'Authorization: API_KEY'
→ returns symbols like:
{
"symbol_id": "SUSHISWAP-V2-ETHEREUM_SPOT_BTC_USDT",
"symbol_id_exchange": "0x784178d58b641a4febf8d477a6abd28504273132",
"asset_id_base": "BTC",
"asset_id_quote": "USDT",
"price_precision": 1e-20,
"size_precision": 1e-20
}
Example (Uniswap V2)
curl -L 'https://rest.coinapi.io/v1/symbols/map/UNISWAP-V2-ETHEREUM'
-H 'Authorization: API_KEY'
→ returns:
{
"symbol_id": "UNISWAP-V2-ETHEREUM_SPOT_XAUT_ETH",
"symbol_id_exchange": "0x589ea310f2500f6859d2619518fd1b95bb1bb0b1",
"asset_id_base": "XAUT",
"asset_id_quote": "ETH"
}
When I subscribe to these DEX symbol_id values via WebSocket:
"subscribe_filter_symbol_id": [
"UNISWAP-V2-ETHEREUM_SPOT_XAUT_ETH",
"SUSHISWAP-V2-ETHEREUM_SPOT_BTC_USDT"
]
…I receive no trades, no quotes, and no errors.
REST mapping works, but WebSocket sends zero data for these pairs.
What I’m Trying to Do
I’m now trying to subscribe to DEX market data (specifically Uniswap and SushiSwap), including:
Trades
Quotes / liquidity updates
On-chain swaps
I want to collect real-time data for multiple pools across Uniswap V2/V3, SushiSwap, etc.
My Questions
Are these specific DEX symbols actually supported in realtime WebSocket streams?
(The REST map returns very few pairs, especially for Uniswap.)
Does DEX data require a different subscription type?
For example, should I use something other than "trade"?
Should subscriptions use symbol_id or symbol_id_exchange (pool address)?
Is DEX realtime coverage limited to certain pools or subscription plans?
My goal is simply to stream DEX trades/swaps/quotes in realtime the same way I do with CEX data, but I can’t get any messages using the DEX symbol IDs.
Any clarification or correct subscription example would be extremely helpful. Thanks!