Model Context Protocol (MCP) server for freee API integration
Vike Data API is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Vike gives AI agents live crypto data through one remote MCP endpoint, https://data.vike.io/mcp. Each user signs in with OAuth 2.1 or uses a Vike API key.
On-chain: labelled wallets and tokens on Ethereum, BNB Chain, Base and HyperEVM, with flows, balances, PnL history, counterparties, first funder and token holders. Hyperliquid: wallet positions and fills, liquidations, leaderboards, builders and candles, plus HL Cohorts, the hourly long/short positioning of each perp split by wallet size and PnL. Polymarket: markets, order books, trade tape, settlements, wallet profiles and smart-money flows.
Ask things like: are whales long or short BTC on Hyperliquid right now, what has wallet 0x... been doing on Base this week, where did Polymarket smart money flow in the last 24 hours.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http vike-data-api-mcp https://data.vike.io/mcp
# 2 — ask your agent for something these tools do
# token_search, wallet_summary, wallet_discover and 47 more
Vike Data API costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, read from the address; if the publisher says otherwise, swap that one word. Its publisher asks you to sign in with OAuth: run /mcp in Claude Code and pick this server, and it opens a browser for that once.
claude mcp add --scope user --transport http vike-data-api-mcp https://data.vike.io/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
50 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Search for tokens by name or symbol. Returns matching symbols, names, addresses (0x-prefixed, lower case; pass them straight to token_holders and token_transfers), and logos.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | Search term (symbol or name) |
| chain | string | no | Chain. Default: ethereum |
| limit | integer | no | Max results (default 10) |
Get a wallet's aggregate metrics: volume, inflow, outflow, net flow, tx count, tokens traded across time windows (24h/7d/30d/90d/all). Without chain it answers for the more recently active of ethereum and bsc, and for base or hyperevm only when the wallet has no priced ethereum/bsc volume; the result's chain says which.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | Wallet address (0x-prefixed hex) |
| chain | string | no | Answer for this chain only (default: see the tool description) |
Find top wallets ranked by volume, inflow, outflow, net flow, tx count, or realized PnL. On base and hyperevm window=all always works; 24h/7d/30d/90d only while those windows were refreshed in the last 2 days, otherwise a 400.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| window | string | no | Time window (default 30d; base and hyperevm default to all, and serve the others only while those windows are under 2 days old) |
| sort | string | no | Sort metric (default volume) |
| order | string | no | Sort direction (default desc) |
| chain | string | no | Chain (default ethereum) |
| size | integer | no | Results per page (default 10, max 20) |
| include_hubs | boolean/string | no | Also rank round-trip hubs (flash-loan/MEV/router pass-through wallets: volume of $10B or more, net flow and realized PnL each within 0.1% of it), hidden by default |
Get who bought and sold a specific token in a given period. Shows top buyers/sellers with quantities and USD values.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| token_address | string | yes | Token contract address (0x-prefixed) |
| period | string | no | Lookback period (default 24h) |
| tab | string | no | Show buyers or sellers (default sold) |
| chain | string | no | Chain (default ethereum) |
Historical OHLCV candles for a Hyperliquid market, aggregated from HL's own executed fills. Pass symbol as the HL asset (BTC, ETH, HYPE); market picks perps or HL spot and dex picks a builder-deployed HIP-3 perp DEX (default HL, the core venue). Buckets are left-aligned UTC and the window is half-open [start, end). Returns candles as {ts (epoch ms, UTC), open, high, low, close, volume, volum
| Parameter | Type | Required | Notes |
|---|---|---|---|
| symbol | string | yes | HL asset: perp ticker (BTC), spot token (HYPE) or raw spot index (@107). Required. |
| interval | string | no | Candle width. Default 1h. |
| market | string | no | Perpetual or HL spot. Default perp. |
| dex | string | no | Perp DEX. Default HL, the core venue; the others are builder-deployed HIP-3 DEXs. |
| start | string | no | ISO-8601 UTC or epoch ms (inclusive). Default: end - limit*interval. |
| end | string | no | ISO-8601 UTC or epoch ms (exclusive). Default: now. |
| limit | integer/string | no | Max candles (default 500, hard max 5000). |
Historical OHLCV candles for ONE Polymarket outcome token, from the recorded L2 tape. token_id is the ERC-1155 outcome token id — a market's condition_id will NOT work here; read the token ids off clob_token_ids from polymarket_market_detail. Prices are probabilities in [0, 1]. Returns bars OLDEST first as {ts (epoch ms, UTC), open, high, low, close, volume, trades}. There is no cursor, so a w
| Parameter | Type | Required | Notes |
|---|---|---|---|
| token_id | string | yes | ERC-1155 outcome token id. Required. |
| interval | string | yes | Candle width. Required. |
| from | integer/string | no | Epoch MILLISECONDS, inclusive lower bound. Omit for no lower bound. |
| to | integer/string | no | Epoch MILLISECONDS, INCLUSIVE upper bound. Omit for no upper bound. |
| limit | integer/string | no | Max candles (default 500, hard max 1000). |
Perpetual-futures funding rates. Pass symbol (e.g. 'BTC') to get current per-venue rates for one asset. Omit symbol to get top cross-venue funding-arbitrage opportunities (pre-ranked, normalised to daily %, spreads >= 0.3%). Each arb row includes long_exchange+long_daily_pct, short_exchange+short_daily_pct, spread_daily_pct. A halted or no-longer-polled venue (Coinbase International, halted 20
| Parameter | Type | Required | Notes |
|---|---|---|---|
| symbol | string | no | Specific symbol (e.g. 'BTC'). Omit for all symbols. |
Get top cross-venue spread-arbitrage opportunities for perpetual futures. Returns symbols where the price gap between the cheapest and most-expensive exchange is >= 0.5%. Each row includes buy_exchange+buy_price, sell_exchange+sell_price, and spread_pct. Pre-ranked — just cite the rows directly. Outliers (>400 bps from cross-venue median, typically unit-mismatch listings like 1000SHIB) are already
| Parameter | Type | Required | Notes |
|---|---|---|---|
| symbol | string | no | Symbol to compare. Omit for full matrix. |
List the current user's alert rules. Returns active alerts by default; pass include_inactive=true to include paused/deleted ones. Also use this to look up an alert_id before editing or deleting.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| include_inactive | boolean/string | no | Include paused/deleted alerts. Default false. |
Create a new on-chain transfer alert for the current user. Fires when a transfer on ONE chain (eth or bsc only) matches: token_symbol if given, min_value_usd if given, and, if address is given, that wallet on the side address_role says. address = ONE 20-byte EVM address ('0x' + 40 hex); ENS names, entity names and non-EVM addresses are refused. Without min_value_usd EVERY transfer touching t
| Parameter | Type | Required | Notes |
|---|---|---|---|
| label | string | yes | Name for this alert (e.g. 'Big USDC moves') |
| token_symbol | string | no | Token ticker in UPPERCASE (e.g. USDC, ETH, PEPE) |
| chain | string | no | Chain to watch (single value). Default: eth. Ask the user to create two alerts if they want both chains. |
| min_value_usd | number/string | no | Alert when transfer USD value >= this. |
| max_value_usd | number/string | no | Stored on the alert but NOT applied: the alert checker has no upper USD bound yet. |
| address | string | no | Wallet to watch: one 0x + 40-hex EVM address. Matches transfers (native or token) the address sent or received on chain, per address_role. |
| address_role | string | no | any = sent or received (default), from = only transfers the address sent, to = only transfers it received. Needs address. |
| channels | array | no | Which enabled notification channels to use. If the user has no verified email/discord set up, the alert is still created but won't fire notifications — call alerts_list_channels to check what's availa |
| cooldown_minutes | integer/string | no | Minimum gap between triggers. Default 60. |
Partial update of one of the user's alerts. Only the fields you pass are modified; pass alert_id to identify which one (get it from alerts_list). Use is_active=false to pause an alert without deleting it. address replaces the alert's wallet condition (one per alert; same rules as alerts_create); address='' removes it; address_role alone moves the existing address to that side.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| alert_id | integer/string | yes | The alert ID (from alerts_list). |
| label | string | no | — |
| token_symbol | string | no | — |
| chain | string | no | — |
| min_value_usd | number/string | no | — |
| max_value_usd | number/string | no | — |
| address | string | no | 0x + 40-hex EVM address; '' removes the wallet condition. |
| address_role | string | no | — |
| channels | array | no | — |
| cooldown_minutes | integer/string | no | — |
| is_active | boolean/string | no | — |
Delete one of the user's alerts by id. Soft-delete (pauses it, keeps history) by default; pass hard=true to remove permanently. Returns {ok: true} on success.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| alert_id | integer/string | yes | The alert ID to delete. |
| hard | boolean/string | no | Hard-delete vs pause. Default false. |
List the user's enabled email + discord notification channels. Use before creating an alert to confirm which channels are available. Returns a list of {id, channel_type, is_verified, label} rows.
No parameter schema on file.
Rank top Hyperliquid perp wallets by PnL / ROI / win rate / volume / trade count within a time window. Use for questions like 'top HL traders with win rate > 75%' or 'best HL perp wallets last 7d'. Data comes from the same pipeline that backs vike.io/perps/wallets. Use win_rate expressed as percent (0-100). roi_pct is window realized PnL over the CURRENT account value and max_drawdown_pct is accou
| Parameter | Type | Required | Notes |
|---|---|---|---|
| window | string | no | Time window (default 30d) |
| sort | string | no | Sort metric (default pnl) |
| order | string | no | Sort direction (default desc) |
| min_trades | integer/string | no | Minimum trade count (default 3) |
| min_win_rate | number/string | no | Minimum win rate as percent 0-100 (default 0 = no filter) |
| min_volume | number/string | no | Minimum volume USD (default 0 = no filter) |
| size | integer/string | no | Results per page (default 10, max 20) |
Reverse-lookup a Hyperliquid open position from share-card details (symbol + side + leverage + entry price). Given the info shown on a HL trader's share card, return wallet(s) with matching open positions, ranked by entry-price proximity. Useful for 'whose share card is this?' or 'who has a 25x ETH long open at $3,200?'. Walks tight (±0.05%) -> loose (±0.5%) -> fallback (±1.0%) entry bands and req
| Parameter | Type | Required | Notes |
|---|---|---|---|
| symbol | string | yes | Asset symbol (e.g. BTC, ETH, SOL) |
| side | string | yes | Position side |
| leverage | number/string | yes | Leverage from share card (e.g. 5, 10, 25); 0 finds positions with no leverage recorded |
| entry_price | number/string | yes | Entry price from share card |
| mark_price | number/string | no | Optional current mark price; sharpens the tie-break when multiple wallets share the same entry. |
| limit | integer/string | no | Max matches to return (default 10, max 50) |
Hourly long/short positioning of ONE Hyperliquid perp split by cohort: every bucket of one ladder, every hour, in one call (the matrix behind 'are whales / smart money long or short BTC'). axis picks the ladder: size (account value), pnl (percentile of cumulative realized PnL), pnl_abs (realized PnL in dollar bands), pnl_unrealized (currently onside), tier (each position's own notional
| Parameter | Type | Required | Notes |
|---|---|---|---|
| symbol | string | yes | Hyperliquid instrument ticker, e.g. BTC, ETH, HYPE; a HIP-3 market is dex:TICKER, e.g. xyz:TSLA. Required: an all-symbol matrix is refused. |
| axis | string | no | Ladder to split by: size (account value), pnl (percentile of cumulative realized PnL), pnl_abs (realized PnL in dollar bands), tier (each position's own notional bucket; trade_size is an ali |
| start | string | no | ISO-8601 UTC lower bound, e.g. 2026-10-01T00:00:00Z. The hour in progress is never returned. |
| end | string | no | ISO-8601 UTC upper bound, e.g. 2026-10-02T00:00:00Z. |
| opened_within | string | no | Only positions opened within this window BEFORE EACH HOUR (rolling per bucket, not relative to now): 24h, 7d, 30d or all. Applied on size, tier, pnl_abs and pnl with the default label |
| hours | integer/string | no | Number of hourly buckets, newest first; the response holds about this many x 12-13 cohort rows. Pass 1-24 for a current read. Max 8760. |
| cursor | string | no | Cursor over HOURS: nextCursor from the previous page, verbatim. |
| label_basis | string | no | point_in_time returns each hour's cohort label AS IT WAS: use it for every backtest (axis=pnl; rows then omit position_count*, total_unrealized_pnl and total_position_size*). Without it a pnl coho |
| grading | string | no | Which PnL grading labels each wallet (axis pnl or pnl_unrealized only): realized (default on pnl), realized-pit (a frozen control: it stops growing, so a recent window comes back short; read |
| include | string | no | Comma list of volume, median_pnl; default none. Adds to the NEWEST hour's rows volume_24h_usd (USD the cohort's wallets filled in this symbol in the last 24 hours; on size only wallets holding |
The Hyperliquid cohort vocabulary and its latest-snapshot positioning, by view. cohorts: the label sets per ladder, the exact spellings every cohort parameter accepts. segments: the catalogue with bounds, ranks and what each ladder measures (size is account value in USD; pnl is a percentile rank of cumulative realized PnL, not dollars; pnl_abs is dollars). summary: everything ONE c
| Parameter | Type | Required | Notes |
|---|---|---|---|
| view | string | no | What to read. segments: the catalogue of every cohort bucket with its bounds and what the ladder measures. cohorts: the flat label sets, i.e. the exact spellings every cohort parameter accepts. |
| cohort | string | no | One label on axis, spelled exactly as hl_segments view=cohorts lists it, e.g. whale (size) or 3x smart (pnl). Used by view: summary, history. Required by view: summary, history. |
| axis | string | no | Cohort ladder: size = account-value tiers in USD, pnl = percentile rank of cumulative realized PnL (NOT dollars), pnl_abs = dollar bands of that same PnL. Per-position trade_size / tier is r |
| opened_within | string | no | Only positions opened within this window: 24h, 7d, 30d or all; positions with no known open time are left out of every bounded window. Used by view: summary, heatmap. |
| start | string | no | ISO-8601 UTC lower bound, e.g. 2026-10-01T00:00:00Z. history only; hours before 2026-04-07 are never returned. Used by view: history. |
| end | string | no | ISO-8601 UTC upper bound, e.g. 2026-10-02T00:00:00Z. history only: with no start, the window is the hours newest hours at or before it. Used by view: history. |
| hours | integer/string | no | history only: window length in hours when start is omitted, ending at end or now. Max 8760. Used by view: history. |
| limit | integer/string | no | history only: max hourly rows, newest first; has_more says older ones exist, page back with end = the oldest ts minus 1 second. Max 5000. Used by view: history. |
| include | string | no | history only: comma list, only leverage; default none (nothing extra is read). Adds to every hourly row perp_bias = (long - short) / equity, equity_exposure = (long + short) / equity and `equi |
One Hyperliquid wallet, by view. summary: live equity, open positions, both cohort labels, the risk metrics of the window (win_rate is a FRACTION from 0 to 1; max_drawdown_pct and pnl_pct are percents, pnl_pct is null under $1 of equity), cumulative realized PnL since inception and lifetime deposits and withdrawals, all money in USD; open_positions.perp_bias = (long - short) / `equit
| Parameter | Type | Required | Notes |
|---|---|---|---|
| view | string | no | What to read. summary: equity, open positions, cohort labels, risk metrics and lifetime flow. trades_summary: closed-trade statistics overall and per symbol. Default summary. |
| address | string | no | Hyperliquid wallet address: 0x followed by 40 hex characters, any case. Required. |
| window | string | no | Window of the risk metrics and trade statistics, by trade time: 1d, 7d, 30d or all. |
| opened_within | string | no | Bounds the open-positions block ONLY (equity, lifetime and metrics are wallet-level totals with nothing per-position to filter): 24h, 7d, 30d or all. Used by view: summary. |
A Hyperliquid wallet's event history, by view. fills: raw fills, newest first (size_usd, closed_pnl in USD; fee is in its own fee_token). funding: funding payments, payment_usd signed from the wallet's side (negative = the wallet PAID). ledger: deposits, withdrawals, transfers and vault events with amount_usd. builders: the builder codes the wallet's flow is routed through, b
| Parameter | Type | Required | Notes |
|---|---|---|---|
| view | string | no | What to read. fills: raw fills, newest first. funding: funding paid and received, newest first. ledger: deposits, withdrawals, transfers and vault events, newest first. builders: which builder |
| address | string | no | Hyperliquid wallet address: 0x followed by 40 hex characters, any case. Required. |
| symbol | string | no | Hyperliquid instrument ticker, e.g. BTC, ETH, HYPE; a HIP-3 market is dex:TICKER, e.g. xyz:TSLA. Omit for all symbols. Used by view: fills, funding. |
| start | string | no | ISO-8601 UTC lower bound, e.g. 2026-10-01T00:00:00Z. Used by view: fills, funding, ledger. |
| end | string | no | ISO-8601 UTC upper bound, e.g. 2026-10-02T00:00:00Z. Used by view: fills, funding, ledger. |
| side | string | no | buy or sell. Omit for both. Used by view: fills. |
| limit | integer/string | no | Rows per page, newest first. Default by view: fills 100, funding 100, ledger 100, builders 50. Max by view: fills 5000, funding 5000, ledger 5000, builders 500. |
| cursor | string | no | nextCursor from the previous page, passed back verbatim; it is null on the last page. Omit it for the first page. |
| event_type | string | no | One ledger event type; an unknown value is refused, not answered with an empty list. Used by view: ledger. |
| window | string | no | Window of the builder-routed flow: 1d, 7d, 30d or all. Used by view: builders. |
Rank Hyperliquid wallets with the full risk set, by view. ranking: precomputed per-window metrics sorted on any of 20 keys (PnL, ROI, win rate, Calmar, profit factor, drawdown, streaks, ...), filtered by cohort and by minimum trades / win rate / volume, cursor-paged. A window is what was REALIZED in it (the trades closed in it) and a wallet needs 3 closed trades in it unless min_trades says
| Parameter | Type | Required | Notes |
|---|---|---|---|
| view | string | no | What to read. ranking: traders ranked on any of 20 metrics with the full risk set. flow_adjusted: traders ranked on fills-derived trading PnL, deposits reported beside it. Default ranking. |
| window | string | no | Window: 1d, 7d, 30d or all. The trades CLOSED in the current UTC day and the 1, 7, 30 or 365 days before it: PnL, trade counts, win rates and tags are what was realized in it. |
| sort | string | no | Ranking metric; an unknown key is refused, never replaced by a default. Used by view: ranking. |
| order | string | no | desc (best first) or asc. Used by view: ranking. |
| cohort | string | no | One label on axis, spelled exactly as hl_segments view=cohorts lists it, e.g. whale (size) or 3x smart (pnl). Omit for no cohort filter. Used by view: ranking. |
| axis | string | no | Cohort ladder: size = account-value tiers in USD, pnl = percentile rank of cumulative realized PnL (NOT dollars), pnl_abs = dollar bands of that same PnL. Selects the ladder cohort filters on. |
| min_trades | integer/string | no | Minimum closed trades in the window. Default 3, the floor hl_perp_top_traders applies; pass 0 for no floor (view flow_adjusted then still needs at least one). |
| min_win_rate | number/string | no | Minimum win rate as a FRACTION from 0 to 1 (0.6 = 60%), compared with the win_rate the rows show; 60 is refused, not read as 60%. hl_perp_top_traders takes a percent instead. Max 1. Used by view: ra |
| min_volume | number/string | no | Minimum total volume in USD. Used by view: ranking. |
| limit | integer/string | no | Rows per page. Max 500. |
| cursor | string | no | nextCursor from the previous page, passed back verbatim; it is null on the last page. Omit it for the first page. Resend the same window / sort / order / axis / cohort with it. |
Hyperliquid liquidations, by view. fills: liquidation events, newest first, filtered by symbol, wallet, side and time. Rows are INFERRED from ~5-minute position snapshots (a position over $100 whose mark was within 5% of its liquidation price and which is gone from the next snapshot; liq_ts is that snapshot's time and size/mark are the last values seen, not a fill; a hand close that near liq
| Parameter | Type | Required | Notes |
|---|---|---|---|
| view | string | no | What to read. fills: liquidation events inferred from position snapshots, newest first. risk: per symbol, the share of open notional close to liquidation. heatmap: where one symbol's open positi |
| symbol | string | no | Hyperliquid instrument ticker, e.g. BTC, ETH, HYPE; a HIP-3 market is dex:TICKER, e.g. xyz:TSLA. Used by view: fills, heatmap. Required by view: heatmap. |
| wallet | string | no | One wallet, to ask whether it has been liquidated. Used by view: fills. |
| start | string | no | ISO-8601 UTC lower bound, e.g. 2026-10-01T00:00:00Z. Used by view: fills. |
| end | string | no | ISO-8601 UTC upper bound, e.g. 2026-10-02T00:00:00Z. Used by view: fills. |
| direction | string | no | The side of the position that was CLOSED: long = longs liquidated (price fell), short = shorts liquidated. Used by view: fills. |
| limit | integer/string | no | Rows per page, newest first. Max by view: fills 5000, risk 500. Used by view: fills, risk. |
| cursor | string | no | nextCursor from the previous page, passed back verbatim; it is null on the last page. Omit it for the first page. Used by view: fills. |
| axis | string | no | Cohort ladder: size = account-value tiers in USD, pnl = percentile rank of cumulative realized PnL (NOT dollars), pnl_abs = dollar bands of that same PnL. Used by view: risk. |
| cohort | string | no | One label on axis, spelled exactly as hl_segments view=cohorts lists it, e.g. whale (size) or 3x smart (pnl). Omit for all wallets. Used by view: risk. |
| min_value_usd | number/string | no | risk only: smallest total open notional in USD a symbol needs to be ranked. Default 0 (no floor), so thin micro-cap markets can lead; raise it to keep only markets big enough for a cascade to matter |
| bins | integer/string | no | Number of equal-width price bins, minimum 5. The window is fixed at +-50% around the mark price. Max 500. Used by view: heatmap. |
Hyperliquid market positioning, by view. open_interest: open interest per symbol at the latest snapshot beside the venue's own figure, so the two can be reconciled. symbol_metrics: the hourly open-interest, position-count and bias series (a fraction from -1 to +1) of ONE symbol, all cohorts summed or one cohort sliced; the newest row is provisional (the hour in progress). A pnl cohort
| Parameter | Type | Required | Notes |
|---|---|---|---|
| view | string | no | What to read. open_interest: open interest per symbol beside the venue's own figure. symbol_metrics: the hourly open-interest, position-count and bias series of one symbol. size_breakdown: one s |
| symbol | string | no | Hyperliquid instrument ticker, e.g. BTC, ETH, HYPE; a HIP-3 market is dex:TICKER, e.g. xyz:TSLA. On positions it is a filter; bound a historical read by it or by wallet. Used by view: symbol_met |
| start | string | no | ISO-8601 UTC lower bound, e.g. 2026-10-01T00:00:00Z. On positions, setting it switches to history (end alone does not). Used by view: symbol_metrics, positions, indices. |
| end | string | no | ISO-8601 UTC upper bound, e.g. 2026-10-02T00:00:00Z. On positions it needs start and is refused without it. Used by view: symbol_metrics, positions, indices. |
| axis | string | no | Cohort ladder: size = account-value tiers in USD, pnl = percentile rank of cumulative realized PnL (NOT dollars), pnl_abs = dollar bands of that same PnL. On symbol_metrics omit it to sum all |
| cohort | string | no | One label on axis, spelled exactly as hl_segments view=cohorts lists it, e.g. whale (size) or 3x smart (pnl). Omit for all wallets. Used by view: symbol_metrics, positions. |
| opened_within | string | no | Only positions opened within this window: 24h, 7d, 30d or all; positions with no known open time are left out of every bounded window. Used by view: symbol_metrics. |
| limit | integer/string | no | Rows per page. On indices: max hourly rows, newest first; has_more says older ones exist, page back with end = the oldest ts minus 1 second. On large_fills: max fills, newest first; the sour |
| cursor | string | no | nextCursor from the previous page, passed back verbatim; it is null on the last page. Omit it for the first page. Refused with sort=size. Used by view: symbol_metrics, positions. |
| label_basis | string | no | current only: this series resolves the cohort label at query time, so point_in_time is refused by name; use hl_cohort_metrics for it. Used by view: symbol_metrics. |
| wallet | string | no | One wallet's positions only. Used by view: positions. |
| open_only | boolean/string | no | true (default) = the latest open positions. Passing start switches to the historical snapshots whatever this says; false without start is refused. Used by view: positions. |
| sort | string | no | positions only: size = the biggest current positions of ONE symbol first (by notional, then wallet, then direction), each row carrying the wallet's native account_value. Needs symbol, `limit |
| resolution | string | no | positions history only (needs start): 5m = every snapshot, ~5 minutes apart; 1h = the last snapshot of each hour, ~12x fewer rows. Default 1h when wallet is given, 5m otherwise; a 5m r |
| hours | integer/string | no | indices: window length in hours when start is omitted, ending at end or now. large_fills: how far back to look, at most 24. Default by view: indices 168, large_fills 24. Max by view: indices 8 |
| min_usd | number/string | no | large_fills only: smallest fill in USD. 50000 is also the minimum: nothing smaller is held. Used by view: large_fills. |
Hyperliquid builder codes (front-ends and bots that attach their address to an order and take a slice of the taker fee), by view. leaderboard: builders ranked by fee revenue, routed volume, unique users or fills over a window. stats: venue-wide builder economics. profile: one builder's totals with per-symbol and per-dex breakdowns, user-volume deciles and lifetime totals. users: the wall
| Parameter | Type | Required | Notes |
|---|---|---|---|
| view | string | no | What to read. leaderboard: builders ranked by fee revenue, volume, users or fills. stats: venue-wide builder-code economics. profile: one builder's totals with per-symbol and per-dex breakdowns. |
| window | string | no | Window: 1d, 7d, 30d or all. Used by view: leaderboard, stats, profile, users. |
| sort | string | no | leaderboard: fee (the builder's own cut), volume, users or fills. users: volume, fees or pnl (the TRADERS' signed realized PnL, not the builder's). Default by view: leaderboard fee, |
| order | string | no | desc or asc. Used by view: leaderboard, users. |
| limit | integer/string | no | Rows per page. Default by view: leaderboard 50, users 100, fills 100, series 500. Max by view: leaderboard 500, users 1000, fills 5000, series 2000. Used by view: leaderboard, users, fills, series. |
| cursor | string | no | nextCursor from the previous page, passed back verbatim; it is null on the last page. Omit it for the first page. Used by view: leaderboard, users, fills, series. |
| builder | string | no | Builder address: 0x followed by 40 hex characters. Used by view: profile, users, fills, series. Required by view: profile, users, fills, series. |
| breakdown_limit | integer/string | no | Rows per breakdown (per-symbol and per-dex). Max 1000. Used by view: profile. |
| symbol | string | no | Hyperliquid instrument ticker, e.g. BTC, ETH, HYPE; a HIP-3 market is dex:TICKER, e.g. xyz:TSLA. Omit for all symbols. Used by view: fills. |
| side | string | no | buy or sell. Omit for both. Used by view: fills. |
| start | string | no | ISO-8601 UTC lower bound, e.g. 2026-10-01T00:00:00Z. Used by view: fills, series. |
| end | string | no | ISO-8601 UTC upper bound, e.g. 2026-10-02T00:00:00Z. Used by view: fills, series. |
| bucket | string | no | Bucket width: 1h or 1d. Used by view: series. |
List trending / top Polymarket prediction-market events ranked by 24h volume. Returns market title, slug, category, current Yes/No mid quotes, 24h volume, and end_date. Filter by category (Crypto | Sports | Politics | Pop-Culture | Tech | all). Use for 'what's hot on Polymarket' or 'top crypto prediction markets'.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| category | string | no | Category filter (default all) |
| limit | integer/string | no | Max markets (default 10, max 30) |
Deep-dive on one Polymarket market by condition_id: question, category, outcomes with their clob_token_ids, 24h and total volume, liquidity, a price series per outcome, the top 30 holders per side, the last 100 trades (with wallets), tape stats and resolution status. There is no live quote or smart-money block here: use polymarket_orderbook for quotes and polymarket_smart_money for the cohort. Use
| Parameter | Type | Required | Notes |
|---|---|---|---|
| condition_id | string | yes | Market condition_id (hex string) |
Profile a Polymarket trader: realized P&L (24h / 7d / 30d / all-time), hit-rate on resolved markets, total volume, top categories traded, and recent positions. Use when the user gives a Polymarket wallet address.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | Polymarket wallet address (0x-prefixed) |
| window | string | no | Window for windowed metrics (default all) |
Full multi-source label cascade for one ETH wallet. Returns labels from several third-party label providers and the heuristic classifier with per-source attribution and a consensus entity/type. Use when the user asks 'what do you know about this address' or 'who labeled this wallet'.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | Wallet address (0x-prefixed hex) |
Top holders of an ERC-20 token by cumulative net inflow USD. Returns wallet, net flow USD, volume USD, tx count, first/last seen dates, and known labels. Use when the user asks 'top holders of X' or 'who holds the most of token Y'.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| token_address | string | yes | ERC-20 token contract address (0x-prefixed) |
| chain | string | no | Chain (default ethereum) |
| limit | integer/string | no | Max holders (default 10, max 50) |
Register an HTTPS webhook as an alert delivery channel for the current user. We POST signed JSON to the URL when alerts fire. Optional secret (>=16 chars) enables HMAC-SHA256 signing — recipients verify by computing HMAC-SHA256(secret, '{X-Vike-Timestamp}.{body}') and comparing to the hex value in X-Vike-Signature (sig=...). Replays should be rejected if timestamp is more than ~5 min old.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| url | string | yes | Webhook URL (http or https). Must be reachable from our server. |
| secret | string | no | Optional HMAC secret (recommended, >=16 chars). If omitted, we still POST but with no signature. |
Raw per-wallet transfer list (single transactions, not aggregates). Filter by direction (in/out/all), days back, min USD, and optionally a specific token. Returns time, tx_hash, from, to, token_address, value_usd, direction, block. Use when the user asks 'show me recent transfers for X' / 'last 100 transactions of wallet Y' / forensic audit queries.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | Wallet address (0x-prefixed) |
| chain | string | no | Chain (default ethereum) |
| direction | string | no | Transfer direction (default all) |
| days | integer/string | no | Days back (default 30, max 365) |
| limit | integer/string | no | Max transactions (default 50, max 500) |
| min_usd | number/string | no | Filter dust below this USD value (default 0) |
| token_address | string | no | Optional: restrict to one token |
Compare two wallets: shared counterparties (both wallets transacted with these addresses) + shared tokens (both wallets touched these tokens) within a window. Use when the user asks 'are these two wallets related' / 'what do X and Y have in common'.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address_a | string | yes | First wallet |
| address_b | string | yes | Second wallet |
| chain | string | no | Chain (default ethereum) |
| window | string | no | Window (default 30d) |
| limit | integer/string | no | Max shared items per category (default 10, max 50) |
Trace a wallet's money through counterparties. direction=out follows where funds went, in where they came from, both (default) either way. At each hop, expand to the top N counterparties by USD volume in that direction. Returns nodes + edges of the resulting graph. Use when the user asks 'where did funds from X go' (out) / 'who funded Y' (in) / 'follow the money 3 hops from Z' / wallet investigati
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | Root wallet to trace from |
| chain | string | no | Chain (default ethereum) |
| depth | integer/string | no | Hops to follow (1-5, default 2) |
| width | integer/string | no | Top N counterparties per hop (1-10, default 5) |
| window | string | no | Window (default 30d) |
| min_usd | number/string | no | Minimum USD per transfer to follow (default 10000) |
| direction | string | no | out = where funds went, in = where they came from, both = either (default both) |
Bulk label + 30d summary lookup for many addresses in one call. Caps at 100 addresses. Returns one row per input address in input order, with: entity, wallet_type, risk_flag, 30d net flow, 30d volume, 30d tx count, read from chain's own tables. The 30d fields are live and null only for an address with no label (found: false). Use when the user pastes a CSV of addresses or asks to enrich a list.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| addresses | array | yes | Wallet addresses (0x-prefixed). Max 100. |
| chain | string | no | Chain (default ethereum) |
Discover tokens by activity within a window. Rank by volume, net inflow, holder count, or smart-money inflow. Filters: min volume USD, min holders, smart-money-only. Use when the user asks 'what tokens are trending today' / 'find tokens with smart money accumulating' / 'rising tokens under $100M cap'.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chain | string | no | Chain (default ethereum) |
| window | string | no | Window (default 24h) |
| sort | string | no | Sort metric (default volume) |
| limit | integer/string | no | Max tokens (default 20, max 100) |
| min_volume_usd | number/string | no | Filter tokens below this 24h volume |
| min_holders | integer/string | no | Filter tokens below this holder count |
| smart_money_only | boolean/string | no | Restrict to smart-money cohort flows. ethereum only: other chains (and sort=smart_inflow on them) are a 400 |
Top trading partners of an ETH/BSC/Base/HyperEVM wallet by combined transfer volume. Returns counterparty address, total volume, amount sent/received, tx count, first/last seen, and labels (when known). Use when the user asks 'who does this wallet trade with' / 'main counterparties of X'.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | Wallet address (0x-prefixed) |
| chain | string | no | Chain (default ethereum) |
| window | string | no | Window (default 30d) |
| limit | integer/string | no | Max counterparties (default 10, max 50) |
Daily net-flow series for a wallet over the last N days (proxy for daily PnL). Returns per-day net inflow USD + cumulative + gross volume + tx count. NOTE: this is net inflow USD, not true realized PnL (which would require WAC accounting per token). Useful as a directional indicator.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | Wallet address (0x-prefixed) |
| chain | string | no | Chain (default ethereum) |
| days | integer/string | no | Days back (default 30, max 365) |
Current token balances for a wallet on Ethereum, BSC, Base and HyperEVM, read from the chain at request time. Returns per-holding (chain, symbol, balance, USD value, USD price). On base and hyperevm, symbol, name, balance and USD exist only for tokens we map and price (about 170 on base, about 50 on hyperevm). Any other token is listed, with its address and balance_raw and the rest null, only when
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | Wallet address (0x-prefixed) |
| chains | array | no | Chains to scan: ethereum, bsc, base, hyperevm (default: all four). Any other chain is reported in chain_errors |
| min_usd | number/string | no | Filter dust below this USD value (default 1.0) |
Reverse ENS lookup: turn a 0x address into a human-readable name like 'vitalik.eth'. Returns null if the address has no ENS name set. Use whenever you have an address and want to display a friendlier identifier.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | EVM wallet address (0x-prefixed, 42 chars) |
The earliest inbound transfers of a wallet, from our own transfer tables, as TWO separate answers: first_native_in (the first plain send of the chain's coin to the wallet, at least min_native WHOLE coins; amount in whole coins, amount_wei exact in wei) and first_token_in (the first token transfer priced at min_usd USD or more; amount in whole tokens). Each carries the sender, its lab
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | Wallet address (0x-prefixed) |
| chain | string | no | Chain (default ethereum) |
| min_native | number/string | no | Dust floor for the native coin in WHOLE coins (ETH, BNB or HYPE; 0.01 means 0.01 coin, not wei). Inbound native transfers below it are skipped. Default 0.0001; 0 = no floor (the very first inbound, pr |
| min_usd | number/string | no | Floor for the token side in USD. Token transfers priced below it, or with no USD price, are skipped. Default 1; 0 = no floor (unpriced tokens, mostly spam, included). |
Which centralised exchanges a wallet sent to and received from over a window, computed from our transfers joined to the addresses the chain's label table marks as exchanges. Returns exchanges [{entity, sent_usd, recv_usd, sent_share, transfers, first_seen, last_seen, addresses, label_confidence, label_sources}] with USD in plain dollars (priced transfers only), and activity totals over ALL cou
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | Wallet address (0x-prefixed) |
| chain | string | no | Chain (default ethereum) |
| window | string | no | Look-back window (default 365d). A very active wallet may be refused over a long window: narrow it |
Detect smart-money signals on Polymarket. Two modes: 'flows' = markets with the largest net cohort inflow in the last N hours; 'mispricings' = markets where cohort bought meaningfully below current mid (potential edge). Cohort is wallets with $1k+ realized PnL over 5+ resolved markets.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| mode | string | no | Signal type (default flows) |
| hours | integer/string | no | Lookback window in hours (default 24) |
| category | string | no | Category filter (default all) |
| limit | integer/string | no | Max rows (default 10, max 20) |
Raw Polymarket L2 event tape for ONE time window (at most 24 hours) on one or more outcome tokens, oldest first, from the recorded order-book feed. token_id / token_ids are ERC-1155 OUTCOME token ids (long decimal strings: read them off clob_token_ids in polymarket_market_detail or outcomes[].token_id in polymarket_markets); a market's condition_id (0x...) will NOT work. Event types: `trad
| Parameter | Type | Required | Notes |
|---|---|---|---|
| token_id | string | no | One outcome token id (decimal string). Give this or token_ids. |
| token_ids | string | no | Comma-separated outcome token ids, at most 100. Wins over token_id when both are given. |
| from_ms | integer/string | yes | Required. Window start, epoch MILLISECONDS, inclusive. |
| to_ms | integer/string | yes | Required. Window end, epoch MILLISECONDS, EXCLUSIVE. Must be greater than from_ms and at most 86400000 (24 hours) after it. |
| event_type | string | no | Return only this event type. Strongly recommended. |
| cursor | string | no | next_cursor from the previous page; resumes strictly after it. |
| limit | integer/string | no | Events per page (default 100, max 1000; REST /events allows up to 50000). |
Order-book snapshot for ONE Polymarket outcome token: the nearest full-book snapshot at or before ts (the latest when omitted), flattened to price levels. token_id is the ERC-1155 OUTCOME token id (decimal string from clob_token_ids in polymarket_market_detail or outcomes[].token_id in polymarket_markets); a condition_id (0x...) will NOT work. Returns rows {as_of_ts (epoch ms, the snapshot
| Parameter | Type | Required | Notes |
|---|---|---|---|
| token_id | string | yes | Required. The outcome token id (decimal string). |
| ts | integer/string | no | As-of epoch MILLISECONDS; the nearest snapshot at or before it is used. Omit for the latest. |
| depth | integer/string | no | Levels per side, 1 to 25 (default 25). |
Tape summary for ONE Polymarket outcome token: recorded events (total_events), trades, trade_volume in outcome SHARES (not USD), snapshots, and the first / last recorded timestamps (first_ms / last_ms, epoch ms). token_id is the ERC-1155 OUTCOME token id (decimal string from clob_token_ids in polymarket_market_detail or outcomes[].token_id in polymarket_markets); a condition_id (
| Parameter | Type | Required | Notes |
|---|---|---|---|
| token_id | string | yes | Required. The outcome token id (decimal string). |
On-chain resolution of ONE Polymarket market, keyed by its condition_id (the market's 0x... hex id from polymarket_markets or polymarket_market_detail; an outcome token id matches nothing here). Returns [] or one row {condition_id, slug, question, outcomes, winning_index, winning_outcome, winning_token_id, token_ids, payouts, resolved_block, resolved_ts_ms (epoch ms), market_known}. market_known
| Parameter | Type | Required | Notes |
|---|---|---|---|
| condition_id | string | yes | Required. The market's condition id (0x-prefixed hex). |
On-chain resolutions of MANY Polymarket markets in one call, oldest resolution first, paged: the list form of polymarket_settlement (same row fields), for 'which markets resolved in this window', 'every settled BTC 5-minute market' or a backtest set. from_ms is inclusive and to_ms exclusive (epoch ms, on resolution time); slug_prefix (lowercase letters, digits and -, e.g. btc-updown-5m-)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| from_ms | integer/string | no | Resolution time, epoch ms, inclusive. Omit for the first resolution. |
| to_ms | integer/string | no | Resolution time, epoch ms, exclusive; must be greater than from_ms. Omit for no upper bound. |
| slug_prefix | string | no | Only markets whose slug starts with this, e.g. btc-updown-5m-. |
| cursor | string | no | The previous page's next_cursor. |
| limit | integer/string | no | Rows per page (default 100, max 500). |
Index of the bulk Polymarket L2 archive: one Parquet file per UTC day and stream (book_events, trades, l1_quotes), either multi-asset ('flat') or per asset and tenor ('family', e.g. btc + 5m). view='datasets' (default) lists files, filtered and paged, with bytes and rows where recorded; view='url' resolves exactly one file to its download URL (give date and stream, plus asset and tenor
| Parameter | Type | Required | Notes |
|---|---|---|---|
| view | string | no | datasets = list files (default); url = resolve one file. |
| asset | string | no | Family files only, e.g. btc. With view=url give it together with tenor, or neither. |
| tenor | string | no | Family files only, e.g. 5m. Pairs with asset. |
| stream | string | no | One stream. Required for view=url. |
| date | string | no | view=url only. Required there. The UTC day, YYYY-MM-DD. |
| date_from | string | no | view=datasets only. First UTC day, YYYY-MM-DD, inclusive (the REST route spells it from). |
| date_to | string | no | view=datasets only. Last UTC day, YYYY-MM-DD, inclusive (the REST route spells it to). |
| limit | integer/string | no | view=datasets only. Files per page (default 50, max 200; total counts every match). |
| offset | integer/string | no | view=datasets only. Skip this many matching files (default 0). |
Leaderboard of Polymarket wallets ranked by realized P&L, hit rate, volume or trade count, for all time or over a window, optionally within one market category. The same board vike.io/polymarket shows. Returns rows {rank, proxy_wallet, pseudonym, display_name, realized_pnl_usd (lifetime, USD, resolved markets only), realized_pnl_window_usd (USD over window, by resolution time), resolved_markets,
| Parameter | Type | Required | Notes |
|---|---|---|---|
| category | string | no | Market category (default all). Every figure is recomputed on that category's markets only. |
| window | string | no | The period behind trades_window, volume_window_usd and realized_pnl_window_usd (P&L of markets RESOLVED inside it), and what the *_window and volume_24h / trades_24h sorts rank on. Default all (lifeti |
| sort | string | no | realized_pnl (default): lifetime USD, largest first. realized_pnl_asc: biggest losers first. realized_pnl_window / realized_pnl_window_asc: P&L inside window. hit_rate: highest first, nulls last; th |
| min_resolved | integer/string | no | Minimum resolved markets (a count). Default 20; 0 includes wallets too thin for a hit rate to mean anything. |
| min_volume_usd | number/string | no | Minimum lifetime volume in USD, buys plus sells (default 0). |
| min_avg_usd | number/string | no | Minimum average trade size in USD (default 0). 20 drops every wallet tagged bot. |
| limit | integer/string | no | Rows per page (default 20, max 50). |
| offset | integer/string | no | Rows to skip, 0 to 1000 (default 0). rank continues across pages; the board is rebuilt hourly, so a page fetched after a rebuild can repeat or skip a wallet. |
Open interest of one perpetual-futures symbol on each venue Vike polls: aster, binance, bitget, bybit, hyperliquid, kucoin, okx. oi_usd is USD NOTIONAL (open contracts x mark price when polled), not contracts or coins. Without hours: the newest print per venue and its age in seconds; venues printed within the last hour, stale_venues went silent (last print within 30 days) and must NOT be s
| Parameter | Type | Required | Notes |
|---|---|---|---|
| symbol | string | yes | Required. Base asset, e.g. 'BTC', 'ETH', 'SOL' (not 'BTCUSDT'). |
| exchange | string | no | Only this venue (lower case), e.g. 'binance'. Omit for every venue. |
| hours | integer/string | no | Omit for the latest print per venue. 1 to 168 for an hourly series over that many hours. |
Long/short positioning that perp venues publish for one symbol: binance, bybit, gate, okx. The venues do NOT measure the same thing, so every row carries basis: binance = top traders by POSITIONS; okx and gate = top traders by ACCOUNTS; bybit = ALL accounts. Compare a venue with itself over time, never as a like-for-like average across venues. long_share / short_share are fractions of 1 (0.6
| Parameter | Type | Required | Notes |
|---|---|---|---|
| symbol | string | yes | Required. Base asset, e.g. 'BTC', 'ETH', 'SOL' (not 'BTCUSDT'). |
| exchange | string | no | Only this venue (lower case), e.g. 'okx'. Omit for every venue. |
| hours | integer/string | no | Omit for the latest print per venue. 1 to 168 for an hourly series over that many hours. |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Vike Data API or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 0.1.0.
- The version this listing went live with, after review.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Vike Data API can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.