Search
Find tokens, wallets, traders, vaults, builders and Polymarket wallets and markets by name, symbol or address, across every product, in one call.
GET https://data.vike.io/v1/searchThe search box on vike.io as one route: a name, a symbol, an address, an ENS name or a pasted link in, and every
product's matches out, grouped by kind. It is the one route shared by the four namespaces rather than part of one:
use it to turn what a user typed into the address, symbol or condition id another endpoint takes. The MCP tool
search runs the same search.
An empty section is not proof of no match
Each section is read on its own, and a section whose read fails comes back as an empty list instead of failing the whole call, as the search box on the site behaves. Retry before concluding that nothing matched, or confirm with the endpoint of that product.
What each section holds
tokens (the price and 24-hour change on Hyperliquid, null for a token not traded there, and the vike.io page to
open; a symbol only a centralised exchange lists is not offered here; chain and token_address say which token it
is: its contract on that chain, an EVM one as lowercase hex without 0x, null for a coin with no contract),
hl_markets (Hyperliquid builder markets such as xyz:GOLD), wallets (labelled entities and wallets on Ethereum,
BSC, Base and HyperEVM; an entity row has wallet_count and url, the vike.io page listing its wallets, and an
address only when the entity is one wallet, since a group of wallets has no single address; a type word such as
cex, bridge or hacker lists that type's biggest entities; a row carries ens, the address's ENS name, when it
has one, and an entity row confidence, "verified" or "predicted", the best label confidence among its wallets;
each key is absent when unknown), traders, vaults and builders (Hyperliquid), polymarket (Polymarket wallets by name,
pseudonym or address, with the owner of an account or the accounts a personal wallet owns), markets (open
Polymarket markets holding every word, several markets of one event as one row with event_slug, title and
markets_n; closed markets only when nothing else matched) and did_you_mean (coins one typo away when no token
matched). url fields are vike.io paths. Unlike the site, the route does not find a Polymarket trader by X handle
and returns no handle.
# everything that matches a name, grouped by kind
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/search?q=wintermute&limit=2"
# a pasted address finds its token, its labels and its traders across the products
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/search?q=0xdac17f958d2ee523a2206206994597c13d831ec7"qqueryrequiredchain:base (eth, bsc, base, hyperevm), type:cex (an entity type), pnl>1m or pnl<-100k (traders' all-time PnL; k, m, b); the answer's filters lists the ones understoodlimitqueryoptionalCaptured on 2026-11-02 at 10:59 UTC, the day the route was published, for q=wintermute&limit=2: the Wintermute
entity, the Wintermute Deposit entity (62 market-maker wallets, its label verified), a closed Hyperliquid vault of
that name and two Polymarket wallets; every other section was empty. The wallets rows are shown as they are
answered since later that day: an entity of several wallets has no address, and url opens the list of them.
{
"tokens": [],
"hl_markets": [],
"wallets": [
{
"chain": "ethereum",
"label": "Wintermute",
"sub_label": "2 chains",
"is_flagged": false,
"type": "",
"entity": "wintermute",
"wallet_count": 77,
"url": "/spot/entity/wintermute"
},
{
"chain": "ethereum",
"label": "Wintermute Deposit",
"sub_label": "market_maker · 62 wallets · 4 chains",
"is_flagged": false,
"type": "market_maker",
"entity": "wintermute deposit",
"wallet_count": 62,
"url": "/spot/entity/wintermute%20deposit",
"confidence": "verified"
}
],
"traders": [],
"vaults": [
{
"address": "0x1209c93bf6a09cee3e02c25737db5bd309e1a8cd",
"name": "Wintermute",
"closed": true,
"tvl_usd": 0.0
}
],
"builders": [],
"polymarket": [
{
"address": "0x1050854d71bde435fb32b0cd6704e7ea7e0c43af",
"name": "Wintermute-Sport",
"pseudonym": "Sharp-Preservation",
"volume_usd": 453672.87124899996,
"badges": ["🐬 Dolphin"],
"pnl_usd": -17753.82273
},
{
"address": "0xf239d3d01e1e9a1d17f455f27feffbdaa8c13627",
"name": "wintermute",
"pseudonym": "",
"volume_usd": 7423.453015000001,
"badges": [],
"pnl_usd": -1374.500349
}
],
"markets": [],
"did_you_mean": []
}REST conventions
The rules that hold across every /v1 namespace on data.vike.io — one credential, one hourly counter, one error envelope, one request helper — and where the per-endpoint reference lives.
Page through large reads
The four ways the /v1 routes page, a cursor, a cursor in an envelope, an offset and a moving time window, each walked in one script with its stop condition, and the on-chain routes that do not page at all.