/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.
# 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{
"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.