/tokens/search
Resolve a symbol or name to the tokens we know about.
GET https://data.vike.io/v1/onchain/tokens/searchResolve a symbol or name to the tokens we know about. The entry point for the two
address-keyed routes —
/tokens/{token_address}/transfers and
/tokens/{token_address}/holders.
token_address comes back without the 0x prefix
Every other address in this namespace is printed 0x-prefixed, and the two routes that consume this
field —
/tokens/{token_address}/holders and
/tokens/{token_address}/transfers —
document their path parameter as "0x-prefixed". Both strip a 0x prefix before the lookup, so the
bare form pipes straight in; prepending 0x is the convention, and the safe habit if you store or
compare the value elsewhere.
Every matching token is returned, ranked, not only the exact match
The search scores every token on the chain it reads — an exact symbol first, then symbols that start
with the text, symbols that contain it, then names — and returns the best limit. q=USDC with
limit=3 returned a single token because only one matched, so a short result means few matches, not
truncation, and a limit above the match count costs nothing. Only one chain's list is read per
call, so this route will not by itself warn you about symbol collisions across chains — pass chain
explicitly when the symbol is ambiguous.
# resolve a ticker to the token you mean before calling a token route
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/onchain/tokens/search?q=USDC&limit=3"
# look a token up by name when you do not know the ticker (%20 is the space)
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/onchain/tokens/search?q=Wrapped%20Ether&limit=5"
# a short symbol returns a ranked list: an exact symbol match first, then symbols that start with it, then symbols that contain it, then name matches
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/onchain/tokens/search?q=ETH&limit=10"
# the same ticker on BSC: the search reads one chain's token list at a time, so the addresses it returns are that chain's
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/onchain/tokens/search?q=USDC&chain=bsc&limit=3"
# the address for the token routes: it comes back bare and they accept it bare, so prepending 0x is only the usual convention
curl -s -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/onchain/tokens/search?q=USDC&limit=1" \
| jq -r '.[0].token_address | "0x" + .'qqueryrequiredchainqueryoptionalethereum | bsc | base. Default ethereumlimitqueryoptionalThe complete response, captured 2026-09-03. limit=3, but only one token matched USDC.
[
{
"symbol": "USDC",
"name": "USD Coin",
"token_address": "a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
"logo": "https://pub-468f7b552e104638ac0daeddde8a6aab.r2.dev/logos/coins/USDC.png"
}
]The parameter is q here and query on the MCP tool
Same search, different spelling. This is also the only endpoint in the namespace that MCP prices at 0 credits; over REST it logs 1 like every other route.