PnL Calendar
Realized-PnL calendar for a tracked wallet. Returns the wallet profile and a months array — one entry per calendar month (oldest first), each with its per-day breakdown and a month summary. For convenience the current month is also exposed flat as dates and month. Ideal for rendering a month-by-month calendar with arrow navigation.
Returns the realized-PnL calendar for a tracked wallet, grouped by month. The wallet category (kol / smart / whale) is detected automatically. Unknown addresses return 404.
The response data.months holds one block per month (oldest first); each block has a dates array (one object per active day) and a month summary. The current month is additionally exposed flat as data.dates and data.month for backwards compatibility.
Parameters / settings
blockchain(required) — one of:solana,bnb,base,ethaddress(required) — wallet address (Solana base58 or0x…for EVM chains)api_key(optional if Bearer header is used)
Authorization: Bearer YOUR_KEY
solanaPossible values: G6fUXjMKPJzCY1rveAE6Qm7wy5U3vZgKDJmN1VPAdiZCYOUR_KEYWallet found — returns the PnL calendar.
Missing or invalid parameter.
Missing API key.
Invalid or exhausted API key.
Wallet not tracked on this chain.
Rate limit exceeded.
GET /v1/wallet/pnl_calendar?blockchain=solana&address=text HTTP/1.1
Host: api.cabalspy.xyz
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"success": true,
"data": {
"wallet": "G6fUXjMKPJzCY1rveAE6Qm7wy5U3vZgKDJmN1VPAdiZC",
"profile": {
"name": "Cented",
"image_url": "https://cabalspy.xyz/images/cented.png",
"twitter": "@Cented",
"telegram": "",
"blockchain": "solana",
"currency": "SOL",
"type": "kol"
},
"months": [
{
"month": {
"month": 3,
"year": 2025,
"realized_pnl": 148.13,
"realized_pnl_usd": 21331.5,
"volume": 980.42,
"total_buy": 416.14,
"total_buy_usd": 59920,
"total_sell": 564.28,
"total_sell_usd": 81251.5,
"buy_txn": 31,
"sell_txn": 45,
"txn_total": 76,
"tokens_traded": 12,
"positive_streak": 4,
"negative_streak": 1
},
"dates": [
{
"date": "18-03-25",
"realized_pnl": 42.18,
"realized_pnl_usd": 6074,
"volume": 310.5,
"total_buy": 134.16,
"total_buy_usd": 19320,
"total_sell": 176.34,
"total_sell_usd": 25394,
"buy_txn": 6,
"sell_txn": 8,
"txn_total": 14,
"tokens_traded": 5
}
]
}
],
"dates": [
{
"date": "18-03-25",
"realized_pnl": 42.18,
"realized_pnl_usd": 6074,
"volume": 310.5,
"total_buy": 134.16,
"total_buy_usd": 19320,
"total_sell": 176.34,
"total_sell_usd": 25394,
"buy_txn": 6,
"sell_txn": 8,
"txn_total": 14,
"tokens_traded": 5
}
],
"month": {
"month": 3,
"year": 2025,
"realized_pnl": 148.13,
"realized_pnl_usd": 21331.5,
"volume": 980.42,
"total_buy": 416.14,
"total_buy_usd": 59920,
"total_sell": 564.28,
"total_sell_usd": 81251.5,
"buy_txn": 31,
"sell_txn": 45,
"txn_total": 76,
"tokens_traded": 12,
"positive_streak": 4,
"negative_streak": 1
}
},
"meta": {
"request_id": "req_a1b2c3d4e5f6",
"cached": true,
"cache_age_seconds": 0,
"version": "1.0.0",
"timestamp": "2025-03-19T14:22:30Z"
}
}Last updated