vike

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

cURL
# 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.

Example response
{
  "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.

cURL — compact
# 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.

cURL — 365 days
# 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.

cURL — 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.

Ask your agent
Which exchanges did 0x84b38bc60f3bd82640ecefa320dab2be62e2da15 deposit to and withdraw from in the last 90 days?
Example response
{  "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."  }}