/wallets/{address}/pnl
A daily net-flow series for the wallet — per-day net inflow USD, a cumulative figure, gross volume and transaction count.
GET https://data.vike.io/v1/onchain/wallets/{address}/pnlA daily net-flow series for the wallet — per-day net inflow USD, a cumulative figure, gross volume and transaction count.
This is net flow, not realized PnL
The wallet_pnl_history tool says so itself: "this is net inflow USD, not true realized PnL (which
would require WAC accounting per token). Useful as a directional indicator." A wallet that buys and
holds shows a large negative net flow while being up on the position. Read the series as the
direction and size of flow, not as profit.
The remaining 8 points run to 2026-09-01, ending at cumulative_net_flow_usd: 18.27 — which
matches the total_net_flow_usd at the top, so the header figure is the last cumulative value
rather than an independent sum.
The series is sparse: one point per day with activity, not one point per day in the range
days=30 returned 11 points, and the dates jump — 08-08, 08-10, 08-12, then a six-day gap
between 08-14 and 08-20. A chart or a diff that assumes 30 consecutive daily rows will misalign.
Zero-fill the calendar yourself if you need a dense series. Note also that a day can carry
net_flow_usd: 0.0 with a non-zero tx_count (the captured 2026-08-14 has tx_count: 2), so
a present-but-zero point is not the same as an absent one.
# the direction and size of a wallet's flow, one point per active day over 30 days
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/onchain/wallets/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045/pnl?days=30"
# a shorter look: the past week
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/onchain/wallets/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045/pnl?days=7"
# a year of flow for research or a backtest: 365 is the ceiling, a larger days is clamped to it
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/onchain/wallets/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045/pnl?days=365"
# a chart-ready cumulative curve; the series is sparse, so zero-fill the calendar yourself if the chart needs every day
curl -s -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/onchain/wallets/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045/pnl?days=90" \
| jq '.series | map({date, cumulative_net_flow_usd})'
# an exchange hot wallet over 90 days, for the same read on a much busier address
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/onchain/wallets/0x28C6c06298d514Db089934071355E5743bf21d60/pnl?days=90"
# the same wallet address on BSC
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/onchain/wallets/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045/pnl?chain=bsc&days=30"addresspathrequiredchainqueryoptionalethereum | bsc | base. Default ethereumdaysqueryoptionalA live response for vitalik.eth, captured 2026-09-03. First three of 11 series points.
{
"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"chain": "ethereum",
"days": 30,
"total_net_flow_usd": 18.27,
"series": [
{
"date": "2026-08-08",
"net_flow_usd": 0.02,
"gross_volume_usd": 0.02,
"tx_count": 1,
"unique_tokens": 1,
"cumulative_net_flow_usd": 0.02
},
{
"date": "2026-08-10",
"net_flow_usd": 0.19,
"gross_volume_usd": 0.19,
"tx_count": 1,
"unique_tokens": 1,
"cumulative_net_flow_usd": 0.21
},
{
"date": "2026-08-12",
"net_flow_usd": 0.01,
"gross_volume_usd": 0.01,
"tx_count": 1,
"unique_tokens": 1,
"cumulative_net_flow_usd": 0.22
}
]
}