Quick Comparison
| REST API | GraphQL API | WebSocket | MCP Tools | CLI | |
|---|---|---|---|---|---|
| Best for | Simple queries, system integration | Flexible analytics, custom aggregation | Real-time price and trade streams | AI Agent integration | Scripts, CI/CD, terminal workflows |
| Endpoint | 56 /v2/* paths | Single endpoint | wss://realtime-dex.chainstream.io/... | Via MCP protocol | npx @chainstream-io/cli |
| Auth | X-API-KEY header | X-API-KEY header | URL ?token= param | Bearer Token | cli login / API Key |
| Response | Fixed JSON schema | Client-selected fields | Real-time push | Structured tool results | JSON / table output |
| Aggregation | Pre-defined endpoints | count / sum / avg / min / max / uniq | None | Depends on underlying API | None |
| Chains | sol / eth / bsc | sol / eth / bsc | sol / eth / bsc | sol / eth / bsc | sol / eth / bsc |
| SDK | TS / Python / Go / Rust | Any GraphQL client | TS SDK built-in | MCP clients | N/A |
When to Use Each
REST API
Use when: you need a quick, specific data lookup — token price, wallet balance, trade list — and want a predictable response schema.Examples: display token info in a dApp, check wallet PnL, get ranking lists.REST API Reference
GraphQL API
Use when: you need flexible, analytical queries — aggregate trades, filter across dimensions, select only the fields you need.Examples: top traders by volume, OHLC candlestick data, token holder distribution analysis.GraphQL Overview
WebSocket
Use when: you need real-time data pushed to your application — price ticks, new trades, wallet activity changes.Examples: live price feed, trade activity stream, new token creation alerts.Real-time Streaming
MCP Tools
Use when: you’re building an AI Agent that needs to query on-chain data through natural language or structured tool calls.Examples: Claude / GPT analyzing token security, AI assistant tracking smart money, automated research workflows.MCP Server Introduction
Data Coverage by Interface
All interfaces share the same underlying data pipeline and support all 3 chains (Solana, Ethereum, BSC).| Data Type | REST | GraphQL | WebSocket | MCP |
|---|---|---|---|---|
| Token metadata & price | Yes | Yes (DEXTrades, TokenSearch) | Yes (Token series) | Yes (token_get_price) |
| Trade history | Yes | Yes (DEXTrades) | Yes (Trade series) | Yes (trade_get) |
| Wallet balance & PnL | Yes | Yes (BalanceUpdates, WalletTokenPnL) | Yes (Wallet series) | Yes (wallet_get_balance) |
| OHLCV / K-line | Yes | Yes (OHLC) | Yes (Candle series) | Yes (token_get_candles) |
| Token holders | Yes | Yes (TokenHolders) | No | Yes (token_get_holders) |
| DEX pool liquidity | Yes | Yes (DEXPools, PoolLiquiditySnapshots) | Yes (DexPool series) | Yes (dexpool_get) |
| Rankings (hot, new) | Yes | No | Yes (Ranking series) | Yes (ranking_get_hot_tokens) |
| DeFi swap / create | Yes | No | No | Yes (dex_swap, pumpfun_create) |
| KYT / compliance | Yes | No | No | No |
| Webhook management | Yes | No | No | Yes (webhook_*) |
Next Steps
Quickstart
Make your first API call in 5 minutes.
GraphQL First Query
Run your first GraphQL query.
Supported Chains
See all supported chains and DEXes.

