Agent CapabilitiesWhy Conyr for Agents

Why Conyr for Agents

Most Solana APIs hand an agent rows and leave the judgment to the model. Conyr returns the judgment — who is behind a token, whether a wallet is actually skilled, whether the coordinated cluster is dumping right now, how much can be sold before the price gives way — with the evidence attached to every answer.

The packaging is agent-first: a hosted MCP server for tool use, an OpenAPI 3.1 contract for generated clients, plain-text context files for model ingestion, and tier-gated WebSocket streams for continuous state.

The surface, in numbers

SurfaceLive scopeWhy it matters to an agent
MCP46 tools42 focused calls plus four multi-source dossiers, tier-gated per tool
REST41 /v1 operationsDeterministic reads with a typed OpenAPI contract
WebSocket13 channel familiesMarket, wallet, security, coordination, bundle, and dump events
Behavior model30 dimensionsExplainable nearest-neighbor wallet similarity
Token score6 dimensionsConfidence-weighted security, liquidity, distribution, momentum, trader quality, and behavior
Bundle model10 structural classificationsExecution-order, launch-cohort, sybil-poisoning, CEX-coordinated, hybrid, and synthetic-swarm structures on a seven-state lifecycle
Provenance graph20 hopsFunding traced through a curated, operator-maintained root set of CEX and infrastructure wallets

These counts come from the live route registration, MCP catalog, and WebSocket dispatch — not a product roadmap. The OpenAPI file and the running router match one-for-one: no live-but-undocumented operation, no documented-but-dead one. Planned endpoints stay out of the machine contracts until they answer, so a generated client cannot contain a route that 404s.

Connect via MCP

claude mcp add --transport http conyr https://mcp.conyr.ai/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

Then ask the agent to call token_deep_dive, token_coordination_report, wallet_overview, or wallet_network_report. Each dossier resolves its subject first — hand it a pool address and it reports on the canonical mint — then runs its independent readers concurrently and returns a failure-honest envelope:

{
  "token": "<the canonical mint the report is about>",
  "partial": false,
  "sections": { "...": "typed section payloads" },
  "errors": {},
  "evidenceUrl": "https://conyr.ai/terminal/..."
}

A failed section is null in sections and named in errors — never silently dropped. partial: true tells the model exactly what it is missing, and the sections that succeeded stay usable. Wallet dossiers echo "wallet" instead of "token".

💡

Every MCP result ships three ways at once: the full structured payload, a one-line text summary for plain-text models, and a resource-link citation to the Conyr terminal page backing the answer. A tier-gated tool denies with a structured tier_insufficient object naming the required tier — not a protocol error.

Why the intelligence is different

  • It resolves actors, not just addresses. Follow edges with confidence and per-token support, shared-funder and shared-execution entities, token campaigns, crowd state, and bundle membership are first-class API objects — cross-token by construction. Most flags on the market are mint-scoped snapshots; Conyr carries operator identity across launches.
  • It keeps closed-lot skill separate from exit style. /quality returns the fully closed FIFO entry-lot win rate next to the per-exit-row rate and names the non-negative gap: win_rate_inflation_pts. In a dated May 30 internal check, one wallet measured 44.57% by positive exit rows and 1.96% by positive closed lots—a 22.7× ratio. That is one wallet observation, not a market-wide competitor result. The 194,610-wallet temporal study publishes the current method, sensitivity result, and limitations; the skill formula is published in the endpoint reference and is not calibrated as a probability.
  • It detects dumps from flow, not price. The dump_alert channel fires on the onset of coordinated selling — cluster sell flow measured against live inventory — so it leads the crash instead of confirming it. Price never enters the trigger. Dump and coordination surfaces describe observed structure, not intent; the MCP server’s shipped instructions say exactly that to your model.
  • It makes liquidity actionable. The live REST surface reports pool depth with staleness enforced, LP burn/lock status, coordinated-dump impact computed on real reserves, and sell capacity in SOL before 10%/25%/50% price impact. Where the pool shape is not a vetted constant-product, capacity is null — no number rather than a wrong one. The LP event tape attributes every add and remove to bundle membership and flagged wallets at read time.
  • It preserves proof. Every wallet trade carries entry and exit signatures. Every bundle carries an evidence array of weighted, titled reason codes — 34 codes across execution, provenance, coordination, and behavior domains. Every MCP object result carries an evidenceUrl a human can open.
  • It distinguishes absence from failure. Composite tools expose partial sections and per-section errors. REST documents legitimate null and empty states instead of asking an agent to infer “clean” — null liquidity depth means missing, stale, or unsupported, never zero. Coordination rows carry a degraded flag, and /v1/coordination/health publishes the engine’s own drop counts. Ask a competitor for their error rate.
  • It runs from raw chain data. Every event is parsed from a self-hosted Yellowstone gRPC stream across 25 registered DEX programs, combining venue-specific instruction decoding with normalized flow analysis and per-trade attribution to the terminal or bot router that placed it. No data vendor sits between the chain and the answer.

Choose the right interface

Agent behaviorInterface
Broad natural-language investigationComposite MCP tool
Focused lookup or follow-up questionIndividual MCP tool
Resolve a public handle or inspect wallet aliasesREST KOL identity endpoints, then MCP/REST for on-chain evidence
Deterministic typed executionREST client generated from OpenAPI
Continuous monitoringREST snapshot, then the relevant WebSocket channels
Model context bootstrappingllms.txt or llms-full.txt

Generate a REST client

openapi-python-client generate --url https://docs.conyr.ai/openapi.yaml

Machine-readable resources

Base contracts

  • REST base URL: https://api.conyr.ai
  • MCP endpoint: https://mcp.conyr.ai/mcp
  • WebSocket endpoint: wss://api.conyr.ai/ws
  • Authentication: Authorization: Bearer <API_KEY>

Every documented /v1, MCP, and WebSocket call requires a key; only /health and /ready are public. /metrics uses a separate operator bearer token in authenticated deployments, and customer API keys do not grant access. WebSocket access starts at Layer 1 — Free keys are rejected at the upgrade. REST and MCP budgets run 10 to 3,000 requests per minute by tier and are metered independently; connection and subscription caps live on the rate limits page.