Free on-chain data API: wallets, labels, token holders
EVM wallets and tokens: what a wallet did, who it trades with, where its money went, who is accumulating a token, and who is behind an address — 17 routes under /v1/onchain, free with one key (20,000 requests an hour, 200 a minute).
chain=ethereum · every route, and the label set behind ENS and provenance.chain=bsc · every route; /labels/batch carries no 30-day flows.chain=base · every route; wallet discovery defaults to window=all, and the shorter windows answer only while that data is under 2 days old.chain=hyperevm · as Base; labels are sparse. HyperCore is not included.Which route serves which chain
| Route | ethereum | bsc | base | hyperevm | Note |
|---|---|---|---|---|---|
/v1/onchain/wallets/{address} | ✓ | ✓ | ✓ | ✓ | optional chain: without it ethereum/bsc first, base/hyperevm only when those hold no priced volume; the response says which |
/v1/onchain/wallets/{address}/transactions | ✓ | ✓ | ✓ | ✓ | |
/v1/onchain/wallets/{address}/counterparties | ✓ | ✓ | ✓ | ✓ | |
/v1/onchain/wallets/{address}/pnl | ✓ | ✓ | ✓ | ✓ | a daily net-flow series |
/v1/onchain/wallets/{address}/balances | ✓ | ✓ | ✓ | ✓ | on base and hyperevm only the tokens we map and price carry a symbol and USD value |
/v1/onchain/wallets/{address}/trace | ✓ | ✓ | ✓ | ✓ | |
/v1/onchain/wallets/{address}/ens | ETH set | ETH set | ETH set | ETH set | ENS |
/v1/onchain/wallets/compare | ✓ | ✓ | ✓ | ✓ | |
/v1/onchain/wallets/discover | ✓ | ✓ | ✓ | ✓ | base and hyperevm: window=all; other windows while their tables are under 2 days old |
/v1/onchain/wallets/{address}/first-funder | ✓ | ✓ | ✓ | ✓ | history starts on a different date per chain |
/v1/onchain/wallets/{address}/exchange-usage | ✓ | ✓ | ✓ | ✓ | hyperevm has few labels, so a miss there says little |
POST /v1/onchain/labels/batch | ✓ | ✓ | ✓ | ✓ | labels and 30-day flows from the chain's own tables; bsc has no flows, hyperevm has few labels |
/v1/onchain/labels/{address}/provenance | ETH set | ETH set | ETH set | ETH set | |
/v1/onchain/tokens/search | ✓ | registry | registry | registry | searches the token registry for the chain you pass (default ethereum) |
/v1/onchain/tokens/screener | ✓ | ✓ | ✓ | ✓ | smart_money_only is ethereum only |
/v1/onchain/tokens/{token_address}/transfers | ✓ | ✓ | ✓ | ✓ | also chain=all |
/v1/onchain/tokens/{token_address}/holders | ✓ | ✓ | ✓ | ✓ | scans the whole chain: the busiest tokens on base take tens of seconds |
✓ served · — not served · ETH set: the answer comes from the Ethereum label / ENS data whatever chain you pass · registry: whatever the token registry lists for that chain. Labels attached to counterparties and holders come from the label set of the chain you pass.
Look up any wallet: summary, counterparties, labels
Three captured wallets — pick one and the summary, its top counterparties and its label provenance follow.
Wallet summary · /wallets/{address}
Top counterparties · /wallets/{address}/counterparties
Which source claimed what · /labels/{address}/provenance
Wallet API: summaries, flows, balances, tracing and discovery
Summary windows, the raw transfer list, counterparties, a daily net-flow series, balances, multi-hop tracing, ENS, comparing two wallets, discovering active ones, a wallet's first inbound transfers and its exchange usage.
/v1/onchain/wallets/{address}
Summary in five windows — all, 90d, 30d, 7d, 24h: volume, inflow, outflow, net flow, tx count, tokens traded.
/v1/onchain/wallets/{address}/transactions
The raw transfer list; direction = in | out, days (≤ 365), min_usd, token_address; limit ≤ 500.
/v1/onchain/wallets/{address}/counterparties
Top counterparties by volume, with entity and wallet type where labelled; window.
/v1/onchain/wallets/{address}/pnl
Daily net-flow series with a running total — a flow proxy, not realized PnL; days.
/v1/onchain/wallets/{address}/balances
Current token balances read live, with USD value; chains, min_usd (0 for the complete list).
/v1/onchain/wallets/{address}/trace
Follow the money hop by hop: nodes and edges; depth, width, window, min_usd.
/v1/onchain/wallets/compare
Are two wallets related? Shared counterparties and shared tokens; address_a, address_b, window.
/v1/onchain/wallets/discover
Most active wallets over a window, sortable by volume, flows, tx count or PnL.
/v1/onchain/wallets/{address}/first-funder
The earliest inbound native and token transfers, each with sender and label; min_native, min_usd. Not proof of who funded the wallet.
/v1/onchain/wallets/{address}/exchange-usage
Which centralised exchanges a wallet sent to and received from: USD, counts and first and last contact; window.
Wallet lookup · /wallets/{address}
/v1/onchain/wallets/{address}Wallet counterparties · /wallets/{address}/counterparties
/v1/onchain/wallets/{address}/counterparties?chain={chain}&window={window}&limit={limit}Wallet PnL · /wallets/{address}/pnl
/v1/onchain/wallets/{address}/pnl?chain={chain}&days={days}Address labels: who is behind a wallet
A consensus label — entity, wallet type, risk flag, confidence — and, separately, which source claimed what.
/v1/onchain/labels/batch
Entity, wallet type, confidence, risk flag and 30-day flow for up to 100 addresses — passed in the query string.
/v1/onchain/labels/{address}/provenance
Which source claimed what about one address, beside the consensus.
POST /labels/batch takes its addresses in the query string
Comma-separated addresses — up to 100 — on the URL, not in a JSON body. Rows come back in input order; an address nobody knows is found: false.
curl -X POST -H "X-API-KEY: vk_…" \
"https://data.vike.io/v1/onchain/labels/batch?addresses=0xd8da6bf26964af9d7eed9e03e53415d37aa96045,0x28c6c06298d514db089934071355e5743bf21d60"
Label provenance · /labels/{address}/provenance
/v1/onchain/labels/{address}/provenanceToken holders: who is accumulating a token
Resolve a token, screen tokens by activity, and rank its wallets by net inflow or by what they bought and sold.
/v1/onchain/tokens/search
Resolve a symbol or name to its contract; chain (default ethereum); limit ≤ 100.
/v1/onchain/tokens/screener
Find tokens by activity in a window: volume, net flow, holders, tx count; sort.
/v1/onchain/tokens/{token_address}/transfers
Top buyers and sellers of a token over a period = 1h | 24h | 7d | 30d.
/v1/onchain/tokens/{token_address}/holders
Wallets ranked by all-time net USD inflow of the token — not a balance.
Holder leaderboard · /tokens/{token_address}/holders
Buyers and sellers · /tokens/{token_address}/transfers
Token holders · /tokens/{token_address}/holders
/v1/onchain/tokens/{token_address}/holders?chain={chain}&limit={limit}Token transfers: buyers and sellers · /tokens/{token_address}/transfers
/v1/onchain/tokens/{token_address}/transfers?period={period}&chain={chain}Token screener · /tokens/screener
/v1/onchain/tokens/screener?chain={chain}&window={window}&limit={limit}