Tokens
Query token validation status, OHLCV candlestick data, and recent trade history. Every token data type has a live WebSocket stream counterpart — query via REST to backfill, then subscribe for real-time updates.
GET /v1/token/{mint}/info
Check whether a token has been validated and/or flagged as suspicious.
Parameters
| Parameter | Type | Description |
|---|---|---|
mint (path) | string | Solana token mint address |
Example
curl -H "Authorization: Bearer $API_KEY" \
"https://api.conyr.ai/v1/token/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v/info"Response
{
"token_mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"is_validated": true,
"is_suspicious": false,
"validation_reason": "passed_all_checks"
}A token can be both validated and suspicious — validation checks tokenomics, while suspicious flags come from trading pattern heuristics.
GET /v1/token/{mint}/ohlcv
Returns OHLCV (Open, High, Low, Close, Volume) candlestick data aggregated from live swap streams.
Live stream available: Subscribe to token:{mint}:ohlcv:{view}:{tf} via WebSocket to receive candle updates as they’re computed. Example: token:EPjFWd...:ohlcv:full:1m
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mint (path) | string | — | Solana token mint address |
timeframe (query) | string | 1m | Candle interval: 1s, 1m, 5m, 15m, 1h |
view (query) | string | full | full (all), filtered (no wash) |
from (query) | integer | — | Start time in unix milliseconds |
to (query) | integer | — | End time in unix milliseconds |
limit (query) | integer | 500 | Max candles to return (max 2000) |
# Last 100 one-minute candles, filtered view
curl -H "Authorization: Bearer $API_KEY" \
"https://api.conyr.ai/v1/token/EPjFWd.../ohlcv?timeframe=1m&view=filtered&limit=100"Response
{
"candles": [
{
"bucket": "2026-03-05 14:30:00+00",
"open": 0.00234,
"high": 0.00256,
"low": 0.00228,
"close": 0.00245,
"volume_token": 5000000.0,
"volume_usd": 11725.0,
"num_trades": 42,
"buy_volume": 3200000.0,
"sell_volume": 1800000.0,
"vwap": 0.002345
}
],
"token_mint": "EPjFWd...",
"timeframe": "1m",
"view": "full"
}Full vs. Filtered Views
| View | Includes | Best For |
|---|---|---|
full | All swaps | Raw market data, charting |
filtered | Excludes wash trades and suspicious activity | Clean analysis, fair pricing |
Candle Fields
- bucket: Candle start timestamp (UTC)
- buy_volume / sell_volume: Token-denominated volume split by trade direction
- vwap: Volume-weighted average price for the candle (null if no trades)
- num_trades: Number of individual swaps aggregated into this candle
Candles are ordered by bucket DESC (newest first). Cache TTL is 5 seconds.
GET /v1/token/{mint}/trades
Returns recent swap history for a specific token across all wallets.
Live stream available: Subscribe to token:{mint}:trades via WebSocket for every swap as it happens on-chain. Also available: token:{mint}:ticks for chart tick price updates.
Parameters
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
mint (path) | string | — | — | Solana token mint address |
limit (query) | integer | 50 | max 200 | Number of trades to return |
Example
curl -H "Authorization: Bearer $API_KEY" \
"https://api.conyr.ai/v1/token/EPjFWd.../trades?limit=10"Response
{
"trades": [
{
"signature": "5vGk...",
"slot": 245678901,
"timestamp": "2026-03-05 14:30:00",
"wallet_address": "7xKXtg...",
"token_amount": 500000.0,
"direction": "buy",
"dex_name": "raydium",
"base_amount": 0.85,
"base_price_usd": 150.25,
"total_fees_usd": 0.012
}
],
"token_mint": "EPjFWd...",
"limit": 10
}- direction:
buyorsellfrom the wallet’s perspective - base_amount: Amount of SOL in the swap
- base_price_usd: SOL price at the time of the swap
- dex_name: Which DEX the swap executed on
- signature: Solana transaction signature — use this to look up the transaction on an explorer