API ReferenceOverview

API Reference

All data parsed from a self-hosted Yellowstone gRPC node — not aggregated from third-party APIs. Sub-second latency from chain to your application.

Authentication

All /v1/* routes require a Bearer token:

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.conyr.ai/v1/token/{mint}/score

System endpoints (/health, /ready, /metrics) require no authentication.

Tiered Access

Every API key is associated with a tier that determines endpoint access, rate limits, and WebSocket connection limits.

TierREST req/minWS ConnectionsHighlights
Free100Token score, buyer quality, bundle summary
Layer 1 — Market Data1005OHLCV, trades, price, ticks, trade tape
Layer 2 — Wallet Intelligence30020PnL, positions, labels, profile, similarity, provenance
Layer 3 — Security Intelligence60050Bundles, coordination, wash trades, entanglement, squads
Enterprise3,000+UnlimitedBulk endpoints, dedicated NATS, custom limits

Each tier includes all endpoints from lower tiers.

Endpoint Map

Free Tier

MethodPathDescription
GET/v1/token/{mint}/score5-axis composite risk score (0–100)
GET/v1/token/{mint}/buyer-qualityBuyer quality tier decomposition
GET/v1/token/{mint}/bundles/summaryBundle count and classification

Layer 1 — Market Data

MethodPathDescription
GET/v1/token/{mint}/scoreFull axis breakdown and sub-scores
GET/v1/token/{mint}/priceReal-time on-chain price
GET/v1/token/{mint}/ohlcvOHLCV candlestick data
GET/v1/token/{mint}/tradesRecent trade history
GET/v1/leaderboardRanked wallet leaderboard
WStoken:{mint}:ticksZero-latency chart ticks
WStoken:{mint}:ohlcv:{view}:{tf}Candle stream
WStoken:{mint}:tradesTrade tape

Layer 2 — Wallet Intelligence

MethodPathDescription
GET/v1/wallet/{addr}/profile30-dimensional behavior vector
GET/v1/wallet/{addr}/similark-NN wallet similarity search
GET/v1/wallet/{addr}/provenanceFunding chain resolution
GET/v1/wallet/{addr}/pnlHistorical realized PnL
GET/v1/wallet/{addr}/positionsOpen positions with cost basis
GET/v1/wallet/{addr}/labelsEnriched wallet labels (45+ fields)
GET/v1/token/{mint}/buyer-qualityExtended buyer decomposition
WSwallet:{addr}:pnlReal-time PnL events
WSwallet:{addr}:positionsPosition deltas
WSwallet:{addr}:labelsLabel state changes

Layer 3 — Security Intelligence

MethodPathDescription
GET/v1/token/{mint}/bundlesFull bundle detection results
GET/v1/token/{mint}/bundles/{bundle_id}Bundle detail with members
GET/v1/token/{mint}/coordinationCoordinated wallet pairs
GET/v1/wallet/{addr}/coordinationWallet coordination signals
GET/v1/squad/{family_id}Squad membership and density
GET/v1/token/{mint}/wash-tradesWash trade detection
GET/v1/wallet/{addr}/entanglementGraph-based cluster analysis
GET/v1/token/{mint}/suspicious-activityFlagged suspicious activity
POST/v1/webhooksRegister security webhooks
WStoken:{mint}:securityToken security events
WSwallet:{addr}:securityWallet security events

Error Responses

All errors return a consistent JSON envelope:

{"error": "Human-readable message", "code": 400}
CodeMeaning
400Bad request — invalid parameters
401Unauthorized — missing or invalid API key
403Forbidden — tier insufficient for this endpoint
404Not found — resource doesn’t exist
429Rate limited — slow down
500Internal error
503Service unavailable — upstream dependency down

Caching

Every endpoint is fronted by an in-process LRU cache. Cache TTLs vary by data freshness requirements:

CacheTTLMax Entries
Token score10s50,000
Buyer quality30s10,000
OHLCV candles5s5,000
Wallet performance30s10,000
Wallet labels60s10,000
Wallet profile60s10,000
Provenance300s10,000
Bundles15s20,000
Coordination30s20,000
Wash trades15s10,000
Leaderboard60s50
Token info300s50,000

For zero-latency data, use WebSockets instead of polling REST.

Response Compression

All responses support gzip compression. Send Accept-Encoding: gzip to reduce transfer sizes.