Vike Data API

Crypto data for AI agents: on-chain wallets and tokens, Hyperliquid, HL Cohorts and Polymarket.

Hosted MCP Server

npx add-mcp 'https://data.vike.io/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

One remote endpoint for on-chain wallets, tokens and alerts, Hyperliquid, HL Cohorts, Polymarket, candles and perps, for any MCP client.

https://data.vike.io/mcp is the Vike Data API's Model Context Protocol endpoint: one URL, 50 tools, JSON-RPC 2.0 over HTTP POST. Point an MCP client at it and an agent can screen tokens, trace a wallet's counterparties, decode its DeFi positions, profile a Polymarket trader and manage on-chain transfer alerts — conversationally, without you writing a request.

It is a remote server. Vike runs it; your client holds a URL and a credential and nothing else. There is no binary to install, nothing to keep running on your machine, and no local port.

Who this is for

Anyone who would otherwise be writing curl against the REST API inside a loop of "fetch, look, decide what to fetch next". The tools cover the same data the REST plane does, but shaped so an agent can chain them: wallet_summary hands you an address worth following, wallet_counterparties says who it trades with, wallet_trace walks the graph, and none of that needs you to know an endpoint path.

If you want the data in a program rather than in a conversation, the REST API and the bulk Parquet archive are the other two planes — Vike Data API is the map.

Connect

PropertyValue
Endpointhttps://data.vike.io/mcp
TransportStreamable HTTP, POST only
ProtocolJSON-RPC 2.0
MCP version2025-03-26
Server identityserverInfo = vike-data, version 1.0.0
Methodsinitialize, notifications/initialized, tools/list, tools/call

tools/list returns the whole catalogue in one response — there is no pagination and no cursor. Any other method is a -32601.

Client setup has the exact configuration per client — Claude Desktop, Claude Code, ChatGPT, Cursor, Gemini CLI, VS Code — plus the raw wire protocol for a script or for debugging a client that will not connect.

Authentication

Two credentials are accepted, and they are tried in this order:

  1. Authorization: Bearer vk_oat_... — an OAuth 2.1 access token. Clients that support Dynamic Client Registration (RFC 7591) register themselves and you approve access in a browser; no key is ever copied. This is the Claude Desktop path, and it also works from ChatGPT and any client whose redirect URI is on the server's list (Client setup names it).
  2. X-API-KEY: vk_... — a long-lived key you create under Account → API Keys. Every client can use this, and it is the path for Claude Code, Cursor, Gemini CLI, VS Code and curl.

Both resolve to the same user and reach the same 50 tools, so the account-scoped ones (the whole alerts_* family) work identically either way. The difference that shows up later is how the hourly counter is keyed — see Rate limits. Authentication covers both credential types in full.

⚠ A validated credential is cached for 45 seconds, so a key or token you revoke can keep authenticating for that window. Revocation is not instant; it is a deliberate trade of a few seconds of staleness for not re-validating the credential from scratch on every request. Plan a rotation as create the new credential, move traffic, then delete the old one — not the reverse.

The 50 tools

The tools are grouped into families, one page each, in the order of the four products — on-chain, Hyperliquid, HL Cohorts, Polymarket — with Candles and Perps, which span products, last. Each family page gives every tool its parameters, what it returns, and an example prompt — shown as a quote — that gets an agent to reach for it. Those pages are generated from the same tool registry tools/list serves, so a live tools/list is the tie-breaker if one ever disagrees.

Wallets — 13 tools

Summary, discovery, raw transfers, balances, PnL history, counterparties, tracing, comparison, ENS, bulk labels, label provenance, first funder, exchange usage.

Tokens — 4 tools

Search, activity screener, top holders, buyers and sellers.

Alerts — 6 tools

Create, list, edit and delete on-chain transfer alerts, list channels, register a signed webhook.

Hyperliquid — 8 tools

Wallets and their fills, funding and ledger, leaderboards, liquidations, market structure, builder codes, the short trader ranking and the share-card lookup.

HL Cohorts — 2 tools

The cohort vocabulary, where each cohort is positioned now and hour by hour, and one symbol's hourly positioning by cohort.

Polymarket — 11 tools

Trending markets, per-market deep dive, smart-money flows and mispricings, trader profiles, and the recorded L2 feed: event tape, order book, tape stats, on-chain settlement, archive index.

Candles — 2 tools

OHLCV candles for a Hyperliquid market and for one Polymarket outcome token.

Perps — 4 tools

Cross-venue funding, spreads, open interest and long/short positioning across the perp venues Vike ingests.

alerts_* is the only family that writes anything, and what it writes is your own alert rows and notification channels. Nothing here touches a market, an order, or a wallet you control — the server holds no keys and signs no transactions.

Credits

Every call is metered. Each tool has a fixed cost — 0 to 4, and any tool without an explicit cost counts as 1 — recorded as credits_used on the usage row along with the tool name, duration, status and arguments. Your own calls are visible under Account → MCP Calls.

Credits are an accounting figure, not a gate: nothing in the request path compares them against a balance. What can refuse a call is the hourly limit below, and that counts calls, not credits.

FamilyCredits per call
Wallets1–4
Tokens0–3
Alerts0–3
Hyperliquid1–2
HL Cohorts1
Polymarket1–2
Candles1
Perps1

token_search is the one 0-credit tool worth knowing by name: it makes a free connection test.

Rate limits

One hourly counter covers MCP and the REST API; the archive is authenticated against the same credential but does not spend it. Every /mcp tool call and every /v1 request is checked against the same counter, so a /v1 backfill and an agent's tool calls draw down one shared budget. One ceiling applies to every credential — there are no plan tiers and no per-endpoint allowances. Rate limits states the number and is the authority for it — this page does not restate it, because both figures the previous docs printed were wrong.

What the counter is keyed on depends on the credential:

  • API key — per key. Rows are counted by api_key_id, so five keys on one account get five independent budgets.
  • OAuth token — pooled per user. OAuth rows carry api_key_id = 0 and are counted by user_id, so every OAuth-connected app on an account shares one budget.

The count is a backstop rather than a ledger: it is reseeded from the usage log at most once every 30 seconds and incremented in memory between refreshes, so at the boundary it can drift by up to that window's worth of calls in either direction.

The archive does not spend your hourly budget — but still download whole files

Two error shapes

They are different things and they arrive differently, which matters when you are writing the client rather than talking to it.

Protocol and credential failures are JSON-RPC error objects. -32700 for a body that was not JSON, -32601 for an unknown method or an unknown tool name in tools/call, -32000 for an invalid or missing credential and for an hourly-limit trip. A credential failure also carries HTTP 401 and a WWW-Authenticate: Bearer resource_metadata=... header (where an OAuth client starts discovery); a rate-limit trip carries HTTP 429, a Retry-After header, and error.data holding {"code": "RATE_LIMITED", "retry_after": <seconds>}.

A tool failure is not a protocol error. If a tool raises, the server returns {"error": "<message>"} wrapped as an ordinary successful result carrying isError: true. The agent reads the message and retries or asks you; the session is not broken. Every tool returns its payload the same way regardless: JSON, serialized into a single text content block.

The exact bodies are on Raw HTTP; Errors is the cross-plane reference: both planes answer a bad or missing credential with a 401, and only MCP adds the WWW-Authenticate header.

[

Pick a client

Add the Vike data server — https://data.vike.io/mcp — to Claude Desktop, Claude Code, ChatGPT, Cursor, Gemini CLI, VS Code, or a script.

](https://vike.io/docs/ai/data/setup/)