Recipe 10 of 32
Which centralized exchanges does this wallet deposit to and withdraw from?
Call /wallets/{address}/exchange-usage; it lists each labelled exchange with the USD the wallet sent to it, the USD it received from it, transfer counts and first and last contact.
GET /v1/onchain/wallets/{address}/exchange-usage groups a wallet's transfers by exchange over a window (default
365 days). Per exchange, sent_usd is what the wallet deposited, recv_usd what it withdrew,
sent_share the exchange's part of all the wallet's outgoing USD, plus transfer counts, first and
last contact and how many of that exchange's addresses it touched. activity totals the wallet's
priced transfers in the window, exchange or not. The full parameter list is on Wallet exchange usage.
Quick answer
# which exchanges a market-maker wallet used over 90 days, and how much went each way
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/onchain/wallets/0x84b38bc60f3bd82640ecefa320dab2be62e2da15/exchange-usage?window=90d"Example response
Captured from the live API on 2026-10-24 at 17:18 UTC, trimmed to 3 of 15 exchanges; the coverage notes are left out.
The wallet deposited $1.52B to Kraken, 99.72% of everything it sent, and withdrew from 14 other exchanges: $510M from Binance and $185M from Coinbase lead. Exchanges are listed by total USD both ways, largest first. All USD fields are plain dollars.
{
"address": "0x84b38bc60f3bd82640ecefa320dab2be62e2da15",
"chain": "ethereum",
"window": "90d",
"found": true,
"activity": {
"sent_usd": 1523213089.787514,
"recv_usd": 1498190760.849198,
"transfers": 29256,
"counterparties": 119
},
"exchanges": [
{
"entity": "kraken",
"sent_usd": 1519000151.054114,
"recv_usd": 3.143339,
"sent_share": 0.9972,
"transfers": 14524,
"sent_transfers": 14516,
"recv_transfers": 8,
"first_seen": "2026-07-26T23:20:23Z",
"last_seen": "2026-10-24T17:12:59Z",
"addresses": 56,
"label_confidence": {
"high": 0,
"medium": 40,
"unrated": 16
},
"label_sources": {
"provider_a": 38,
"heuristic": 8
}
},
{
"entity": "binance",
"sent_usd": 0.0,
"recv_usd": 509652955.200575,
"sent_share": 0.0,
"transfers": 3297,
"sent_transfers": 0,
"recv_transfers": 3297,
"first_seen": "2026-07-27T01:56:59Z",
"last_seen": "2026-10-24T17:13:35Z",
"addresses": 8,
"label_confidence": {
"high": 0,
"medium": 8,
"unrated": 0
},
"label_sources": {
"provider_a": 5,
"heuristic": 0
}
},
{
"entity": "coinbase",
"sent_usd": 0.0,
"recv_usd": 184971148.655254,
"sent_share": 0.0,
"transfers": 2682,
"sent_transfers": 0,
"recv_transfers": 2682,
"first_seen": "2026-07-27T04:12:11Z",
"last_seen": "2026-10-24T17:10:11Z",
"addresses": 1,
"label_confidence": {
"high": 0,
"medium": 1,
"unrated": 0
},
"label_sources": {
"provider_a": 1,
"heuristic": 0
}
}
],
"pattern": "sweeps_to_single_cex",
"pattern_basis": {
"entity": "kraken",
"sent_share": 0.9972,
"sent_transfers": 14516,
"threshold": "at least 90% of the wallet's outgoing USD in the window went to one exchange, over at least 3 outgoing transfers",
"meaning": "Observed in this window's transfers. It is not a statement that this address is a deposit address, or that the exchange operates it."
}
}Variations
Just the exchanges and the two directions.
# one line per exchange: deposits and withdrawals in USD
curl -s -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/onchain/wallets/0x84b38bc60f3bd82640ecefa320dab2be62e2da15/exchange-usage?window=90d" \
| jq '.exchanges[] | {entity, sent_usd, recv_usd, sent_transfers, recv_transfers}'A quieter wallet over a year. The default window is 365 days, and all covers every transfer we hold.
# a small wallet's exchanges over the last year
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/onchain/wallets/0x556e9d5d9e64638edde632bbd4810c9fd0d88397/exchange-usage"BSC.
# exchanges a wallet used on BSC over all recorded history
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/onchain/wallets/0x40c9b7d91762f9c715478876310c554f4dc10435/exchange-usage?chain=bsc&window=all"Before you rely on it
A lower bound, and busy wallets need a short window
Only addresses we label as an exchange count, so an unlabelled exchange address is invisible and
every figure is a floor. Only priced transfers count, and a coin payout made inside a contract call
does not appear. A very active wallet over a long window is a 400 that names window: use 30d or
90d. On hyperevm few exchanges are labelled, so an empty list there says little.
Ask your agent
Connected to the Vike MCP server (https://vike.io/mcp) in Claude, ChatGPT or Cursor, ask it in plain words.
The wallet_exchange_usage tool answers it, at 3 credits a call.
Which exchanges did 0x84b38bc60f3bd82640ecefa320dab2be62e2da15 deposit to and withdraw from in the last 90 days?