Skip to content

To fetch trade and quotes data using Websocket via Dex #1

@Rudra0755

Description

@Rudra0755

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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions