---
title: "Get the highest win-rate analyst right now — one analyst with win rate, avg return, last 3 signals (min 5 resolved trades required)"
method: GET
path: "/api/public/analysts/top"
---

# Get the highest win-rate analyst right now — one analyst with win rate, avg return, last 3 signals (min 5 resolved trades required)

`GET /api/public/analysts/top`

## Request

- Base URL: `https://cryptowhaleinsights.com`
- URL: `https://cryptowhaleinsights.com/api/public/analysts/top`
- Auth: none declared

Returns the single analyst with the highest win rate among those with at least 5 resolved signals, plus their last 3 recent signals (using the free 7-day window). Useful for AI agents that want to surface the best-performing signal source without iterating over all 10 analysts. Returns { analyst: null } when no analyst yet has 5+ resolved signals. Analyst IDs map to: chain_hawk=ChainHawk (BTC), whale_watch=WhaleWatch (multi-chain), alpha_scout=AlphaScout (emerging tokens), defi_pulse=DeFiPulse (DeFi/stables), quant_edge=QuantEdge (risk/convergence). winRate is a fraction (0.71 = 71%); avgReturn is percentage points (12.3 = +12.3%). Cached ~10min.

## Response `200`

Top analyst object.

- object
  - `analyst` object, nullable: The analyst with the highest win rate (min 5 resolved signals). Null if no analyst qualifies yet.
    - `id` string
    - `name` string
    - `specialization` string
    - `bio` string
    - `winRate` number: Fraction (0–1). Multiply by 100 for %.
    - `avgReturn` number: Average return in percentage points.
    - `totalSignals` number
    - `resolvedSignals` number
    - `lastSignalAt` string, date-time, nullable
    - `recentSignals` object[]
      - `tokens` string[]
      - `typeLabel` string
      - `outcome` string, nullable
      - `returnPct` number, nullable
      - `createdAt` string, date-time
  - `updatedAt` string, date-time
  - `attribution` Attribution: Source attribution returned on every response. Cite CryptoWhaleInsights when using this data.
    - `source` string
    - `url` string, uri
    - `poweredBy` string
    - `usagePolicy` string, uri

## Other responses

- `429`: Rate limit exceeded (120 req/min per endpoint per IP). Includes a Retry-After header. See https://cryptowhaleinsights.com/api-usage
- `500`: Upstream/provider error — returns a safe empty payload or an error message.

---

[API](https://skmtc.dev/cryptowhaleinsights/apis/cryptowhaleinsights-public-api.md) · [All operations](https://skmtc.dev/cryptowhaleinsights/apis/cryptowhaleinsights-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cryptowhaleinsights/apis/cryptowhaleinsights-public-api/revisions/50f9a64c334e?raw)
