Agent IntegrationEndpoint Reference

Endpoint Reference

Structured endpoint data for programmatic consumption. See /openapi.yaml for the full machine-readable spec.

Live Stream Mapping

Every major REST endpoint has a WebSocket stream counterpart. Use REST for backfill, WebSocket for real-time. Sub-second latency on all streams.

REST EndpointWebSocket ChannelDescription
GET /v1/wallets/{addr}/tradeswallet:{addr}:pnlReal-time realized PnL (sub-second, unique to CONYR)
GET /v1/wallets/{addr}/unrealized-pnlwallet:{addr}:unrealized-pnlUnrealized PnL on open positions (mark-to-market)
GET /v1/wallets/{addr}/positionswallet:{addr}:positionsPosition open/update/close events
GET /v1/wallets/{addr}/bundleswallet:{addr}:bundlesBundle detection and lifecycle updates
GET /v1/wallets/{addr}/securitywallet:{addr}:securityMalicious activity and threat scoring
GET /v1/wallets/{addr}/taxonomywallet:{addr}:taxonomyBadge and classification changes
GET /v1/tokens/{mint}/tradestoken:{mint}:tradesLive trade tape
GET /v1/tokens/{mint}/ohlcvtoken:{mint}:ohlcv:{view}:{tf}Candle updates (full or filtered)
token:{mint}:ticksChart tick events (stream-only)

Wallets

GET /v1/wallets/{address}/performance

ParameterInTypeRequiredDefaultEnum
addresspathstringyes
windowquerystringno7d1d, 7d, 30d

Response schema: WalletPerformance Cache TTL: 30s

GET /v1/wallets/{address}/trades

ParameterInTypeRequiredDefaultConstraints
addresspathstringyes
limitqueryintegerno50max 200
offsetqueryintegerno0
tokenquerystringnotoken mint filter

Response: {"trades": WalletTrade[], "limit": int, "offset": int} Live stream: wallet:{address}:pnl — fires on every trade close with realized PnL, hold time, entry/exit prices, fee attribution, trade tool fingerprint

GET /v1/wallets/{address}/unrealized-pnl

ParameterInTypeRequiredDefaultConstraints
addresspathstringyes
tokenquerystringnotoken mint filter

Response: {"positions": UnrealizedPosition[], "wallet_address": string, "total_unrealized_pnl_usd": number} Live stream: wallet:{address}:unrealized-pnl — fires when mark-to-market values change Includes: per-position unrealized PnL in USD and SOL, current price, entry price, percentage gain/loss, position value, cost basis

GET /v1/wallets/{address}/positions

ParameterInTypeRequiredDefaultEnum
addresspathstringyes
statusquerystringnoallopen, closed, all

Response: {"positions": WalletPosition[]} Live stream: wallet:{address}:positions — fires on position open, partial close, full close

GET /v1/wallets/{address}/labels

ParameterInTypeRequired
addresspathstringyes

Response: WalletLabel | null Cache TTL: 60s Includes: trader_type, performance_level, size_class, exit_style, trade_badges, identity_badges, quantitative performance metrics

GET /v1/wallets/{address}/taxonomy

ParameterInTypeRequired
addresspathstringyes

Response: WalletTaxonomy Live stream: wallet:{address}:taxonomy — fires when badges change Includes: 4-axis classification + up to 22 behavioral and identity badges with confidence scores

GET /v1/wallets/{address}/bundles

ParameterInTypeRequiredDefaultConstraints
addresspathstringyes
limitqueryintno25max 100

Response: {"bundles": Bundle[]} Live stream: wallet:{address}:bundles — fires on bundle detection, lifecycle state changes Includes: bundle_type, status, member wallets, leader, supply-at-risk, invested/returned, risk score, evidence

GET /v1/wallets/{address}/security

ParameterInTypeRequired
addresspathstringyes

Response: WalletSecurity Live stream: wallet:{address}:security — fires on threat detection Includes: malicious flag, detection reason, associated suspicious tokens, total PnL from flagged activity

Leaderboard

GET /v1/leaderboard

ParameterInTypeRequiredDefaultEnum/Constraints
windowquerystringno7d1d, 7d, 30d
sortquerystringnopnl_usdpnl_usd, roi, win_rate
limitqueryintegerno100max 500
offsetqueryintegerno0

Response: {"leaderboard": LeaderboardEntry[], "window": string, "sort": string, "limit": int, "offset": int} Cache TTL: 60s Note: Minimum 5 trades required for inclusion.

Tokens

GET /v1/tokens/{mint}/info

ParameterInTypeRequired
mintpathstringyes

Response schema: TokenInfo Cache TTL: 300s Includes: name, symbol, supply, deployer, validation status, mintable/freezable flags, primary DEX, token health score (0-100) with breakdown and evidence

GET /v1/tokens/{mint}/ohlcv

ParameterInTypeRequiredDefaultEnum/Constraints
mintpathstringyes
timeframequerystringno1m1s, 1m, 5m, 15m, 1h
viewquerystringnofullfull, filtered
fromqueryintegernounix ms
toqueryintegernounix ms
limitqueryintegerno500max 2000

Response: {"candles": OhlcvCandle[], "token_mint": string, "timeframe": string, "view": string} Cache TTL: 5s Live stream: token:{mint}:ohlcv:{view}:{tf} — candle updates as computed Note: filtered view removes bot/wash trades for organic price discovery. Each candle includes OHLCV, buy/sell volume split, VWAP, trade count, unique buyers, unique sellers.

GET /v1/tokens/{mint}/trades

ParameterInTypeRequiredDefaultConstraints
mintpathstringyes
limitqueryintegerno50max 200

Response: {"trades": TokenTrade[], "token_mint": string, "limit": int} Live stream: token:{mint}:trades — every swap as it lands on-chain Also available: token:{mint}:ticks — chart tick price updates (stream-only)

Operations (No Auth)

EndpointResponse
GET /health{"status": "ok"}
GET /ready{"status": "ready|not ready"}
GET /metricsPrometheus text format