vike
API EndpointsOn-chain

/wallets/{address}

Aggregate metrics for one wallet — volume, inflow, outflow, net flow, transaction count and tokens traded, across the 24h / 7d / 30d / 90d / all windows in a single response.

GET https://data.vike.io/v1/onchain/wallets/{address}

Aggregate metrics for one wallet — volume, inflow, outflow, net flow, transaction count and tokens traded, across the 24h / 7d / 30d / 90d / all windows in a single response. The cheapest way to size up an address before spending calls on its detail routes.

A live response for vitalik.eth, captured 2026-09-03. All five windows come back in one object; 24h is present and zeroed rather than omitted, and first_seen / last_active / tokens_traded repeat the all-time figure inside every window rather than being recomputed per window — read those three from all and ignore the copies:

That is the whole response, not an excerpt. Note the shape of a long-lived but currently quiet address: 932,913 lifetime transactions against 18 in the last 30 days. Sizing a wallet up on all alone will mislead you about whether it is active now — which is what the window breakdown is for.

cURL
# size up an address before spending calls on its detail routes: all five windows in one response
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/onchain/wallets/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"

# the same check on an exchange hot wallet
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/onchain/wallets/0x28C6c06298d514Db089934071355E5743bf21d60"

# is it active now, or only historically: transaction counts for 30d and 7d against the lifetime figure
curl -s -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/onchain/wallets/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045" \
  | jq '{lifetime: .all.tx_count, d30: .["30d"].tx_count, d7: .["7d"].tx_count, last_active: .all.last_active}'

# net flow per window, to see whether the wallet is accumulating or distributing (net_flow is inflow minus outflow)
curl -s -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/onchain/wallets/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045" \
  | jq 'to_entries | map({window: .key, net_flow: .value.net_flow})'

# any address from another route: WALLET is a row from /wallets/discover or /wallets/{address}/counterparties
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/onchain/wallets/$WALLET"
addresspathrequired
Wallet address, 0x-prefixed hex
Example response
{
  "all": {
    "total_volume": 172096152.066662,
    "total_inflow": 59024302.03353,
    "total_outflow": 113071850.033132,
    "net_flow": -54047547.999602,
    "tx_count": 932913,
    "tokens_traded": 12365,
    "first_seen": "2016-08-05",
    "last_active": "2026-09-01"
  },
  "90d": {
    "total_volume": 273.294302,
    "total_inflow": 87.693162,
    "total_outflow": 185.60114,
    "net_flow": -97.907978,
    "tx_count": 91,
    "tokens_traded": 12365,
    "first_seen": "2016-08-05",
    "last_active": "2026-09-01"
  },
  "30d": {
    "total_volume": 18.272136,
    "total_inflow": 18.272136,
    "total_outflow": 0.0,
    "net_flow": 18.272136,
    "tx_count": 18,
    "tokens_traded": 12365,
    "first_seen": "2016-08-05",
    "last_active": "2026-09-01"
  },
  "7d": {
    "total_volume": 0.1,
    "total_inflow": 0.1,
    "total_outflow": 0.0,
    "net_flow": 0.1,
    "tx_count": 1,
    "tokens_traded": 12365,
    "first_seen": "2016-08-05",
    "last_active": "2026-09-01"
  },
  "24h": {
    "total_volume": 0.0,
    "total_inflow": 0.0,
    "total_outflow": 0.0,
    "net_flow": 0.0,
    "tx_count": 0,
    "tokens_traded": 12365,
    "first_seen": "2016-08-05",
    "last_active": "2026-09-01"
  }
}

No query parameters — the windows are all returned together rather than selected.

cURL
# size up an address before spending calls on its detail routes: all five windows in one responsecurl -H "X-API-Key: $VIKE_API_KEY" \  "https://data.vike.io/v1/onchain/wallets/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"# the same check on an exchange hot walletcurl -H "X-API-Key: $VIKE_API_KEY" \  "https://data.vike.io/v1/onchain/wallets/0x28C6c06298d514Db089934071355E5743bf21d60"# is it active now, or only historically: transaction counts for 30d and 7d against the lifetime figurecurl -s -H "X-API-Key: $VIKE_API_KEY" \  "https://data.vike.io/v1/onchain/wallets/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045" \  | jq '{lifetime: .all.tx_count, d30: .["30d"].tx_count, d7: .["7d"].tx_count, last_active: .all.last_active}'# net flow per window, to see whether the wallet is accumulating or distributing (net_flow is inflow minus outflow)curl -s -H "X-API-Key: $VIKE_API_KEY" \  "https://data.vike.io/v1/onchain/wallets/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045" \  | jq 'to_entries | map({window: .key, net_flow: .value.net_flow})'# any address from another route: WALLET is a row from /wallets/discover or /wallets/{address}/counterpartiescurl -H "X-API-Key: $VIKE_API_KEY" \  "https://data.vike.io/v1/onchain/wallets/$WALLET"
Example response
{  "all": {    "total_volume": 172096152.066662,    "total_inflow": 59024302.03353,    "total_outflow": 113071850.033132,    "net_flow": -54047547.999602,    "tx_count": 932913,    "tokens_traded": 12365,    "first_seen": "2016-08-05",    "last_active": "2026-09-01"  },  "90d": {    "total_volume": 273.294302,    "total_inflow": 87.693162,    "total_outflow": 185.60114,    "net_flow": -97.907978,    "tx_count": 91,    "tokens_traded": 12365,    "first_seen": "2016-08-05",    "last_active": "2026-09-01"  },  "30d": {    "total_volume": 18.272136,    "total_inflow": 18.272136,    "total_outflow": 0.0,    "net_flow": 18.272136,    "tx_count": 18,    "tokens_traded": 12365,    "first_seen": "2016-08-05",    "last_active": "2026-09-01"  },  "7d": {    "total_volume": 0.1,    "total_inflow": 0.1,    "total_outflow": 0.0,    "net_flow": 0.1,    "tx_count": 1,    "tokens_traded": 12365,    "first_seen": "2016-08-05",    "last_active": "2026-09-01"  },  "24h": {    "total_volume": 0.0,    "total_inflow": 0.0,    "total_outflow": 0.0,    "net_flow": 0.0,    "tx_count": 0,    "tokens_traded": 12365,    "first_seen": "2016-08-05",    "last_active": "2026-09-01"  }}