Recipe 18 of 32
Find a token's contract address by name or ticker
/tokens/search takes a ticker or a token name and returns the matching tokens on one chain, each with its 0x-prefixed contract address.
GET /v1/onchain/tokens/search?q= matches a ticker or a name against the tokens we know on one chain and returns them ranked:
an exact ticker first, then tickers that start with the text, tickers that contain it, then names. Each row carries
symbol, name, token_address and a logo URL. The full parameter list is on Token search.
Quick answer
# the contract address of PEPE on Ethereum
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/onchain/tokens/search?q=PEPE&limit=3"Example response
Captured from the live API on 2026-10-24 at 17:18 UTC, the whole response.
One token matched, so limit=3 returned one row: a short list means few matches, not a cut. token_address is
lower-case hex with the 0x prefix and goes straight into the token routes.
[
{
"symbol": "PEPE",
"name": "PEPE",
"token_address": "0x6982508145454ce325ddbe47a25d4ec3d2311933",
"logo": "https://pub-468f7b552e104638ac0daeddde8a6aab.r2.dev/logos/coins/PEPE.png"
}
]Variations
By name. Search by the token's name when you do not know the ticker (%20 is the space).
# tokens whose name matches "Wrapped Ether"
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/onchain/tokens/search?q=Wrapped%20Ether&limit=5"On another chain. The address is the one on the chain you ask for.
# the AERO token on Base
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/onchain/tokens/search?q=AERO&chain=base&limit=3"Just the address. Print the first match's address, ready for the next call.
# the address alone
curl -s -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/onchain/tokens/search?q=PEPE&limit=1" \
| jq -r '.[0].token_address'Use it. Pass the address to a token route, here the holder ranking.
# PEPE's top accumulators, by the address the search returned
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/onchain/tokens/0x6982508145454ce325ddbe47a25d4ec3d2311933/holders?limit=10"Before you rely on it
One chain per call, and a wrong chain name is not an error
Each call reads one chain's token list, ethereum by default, so the same ticker on another chain needs its own
call. The chain name is not checked here: a name outside ethereum, bsc, base and hyperevm returns an empty
list with a 200, where the wallet routes answer 400. An empty list can mean a misspelled chain.
Only tokens we know, and full names can be missing
The search covers the tokens we map and price, not every contract on the chain, and a contract address passed as
q is not matched. On 2026-10-24 q=Aerodrome&chain=base returned []: try the ticker when a full name finds
nothing.
Ask your agent
Connected to the Vike MCP server (https://vike.io/mcp) in Claude, ChatGPT or Cursor, ask it in plain words.
The token_search tool answers it, free of credits.
What is the contract address of PEPE on Ethereum?