Request
GET /v3/wallets/{address}
Path parameters
| Parameter | Type | Description |
|---|---|---|
address | string | Wallet address (0x-prefixed, case-insensitive) |
Query parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
include_combos | boolean | false | Add combo P&L and combo position counts to the all-time wallet summary. |
include_accounting_summary | boolean | false | Add the all-time wallet accounting summary, including exact trader-paid fees from indexed onchain fills. |
Example
curl https://api.polynode.dev/v3/wallets/0x56687bf447db6ffa42ffe2204a05edaa20f55839
Summary including combos
curl "https://api.polynode.dev/v3/wallets/0x63613e3b96f418332d43cd2af8dc321014d15907?include_combos=true"
{
"address": "0x63613e3b96f418332d43cd2af8dc321014d15907",
"net_realized_pnl": 113.510513,
"realized_pnl": 113.510513,
"total_pnl": 113.510513,
"position_count": 21496,
"open_positions": 1495,
"include_combos": true,
"included_position_types": ["market", "combo"],
"combo_pnl": {
"position_type": "combo",
"included": true,
"realized_pnl": 113.510513,
"total_pnl": 113.510513,
"position_count": 21492,
"open_positions": 1495
}
}
Summary including accounting
Use this when you need the exact all-time fee summary without paging through raw fill rows.curl "https://api.polynode.dev/v3/wallets/0x7553e42ce1b37727b819dfe4bac495b3968f65ca?include_accounting_summary=true"
{
"address": "0x7553e42ce1b37727b819dfe4bac495b3968f65ca",
"net_realized_pnl": -138570.0369464795,
"gross_profit": 524921.0508558493,
"gross_loss": -671088.850081543,
"unrealized_pnl": -7597.762279214215,
"total_pnl": -146167.79922569369,
"position_count": 915,
"open_positions": 0,
"total_volume": 2718779.615141,
"accounting_summary": {
"available": true,
"loaded": true,
"has_order_filled_rows": true,
"source": "api.wallet_accounting_summary_current",
"fees_paid": {
"available": true,
"loaded": true,
"amount": 99973.115598,
"raw": "99973115598",
"fee_fill_count": 2984,
"order_owner_fill_count": 5122,
"first_fee_block": "84892414",
"last_fee_block": "88904629"
},
"maker_rebates": {
"available": false,
"loaded": false,
"status": "not_loaded",
"amount": null,
"raw": null
},
"rewards": {
"available": false,
"loaded": false,
"status": "not_loaded",
"amount": null,
"raw": null
},
"order_filled_through_block": "88978163",
"projector_status": "ready"
},
"elapsed_ms": 2
}
{
"address": "0x56687bf447db6ffa42ffe2204a05edaa20f55839",
"net_realized_pnl": 22053845.825455,
"gross_profit": 22057977.181649,
"gross_loss": -4131.356194,
"unrealized_pnl": 0.000688755,
"total_pnl": 22053845.826143753,
"wins": 18,
"losses": 4,
"position_count": 22,
"open_positions": 1,
"total_volume": 43013258.515682,
"elapsed_ms": 1
}
Response fields
| Field | Type | Description |
|---|---|---|
net_realized_pnl | number | Net realized P&L in USD |
gross_profit | number | Sum of all winning position P&L (USD) |
gross_loss | number | Sum of all losing position P&L (USD, negative) |
unrealized_pnl | number | Unrealized P&L from open positions based on current prices (USD) |
total_pnl | number | net_realized_pnl + unrealized_pnl (USD) |
wins | integer | Number of positions closed with positive P&L |
losses | integer | Number of positions closed with negative P&L |
position_count | integer | Total positions (open + closed) |
open_positions | integer | Positions with shares > 0 |
total_volume | number | Total volume traded (USD) |
combo_pnl | object | Present when include_combos=true; combo-only contribution to the wallet summary |
accounting_summary | object | Present when include_accounting_summary=true; all-time compact wallet accounting summary |
accounting_summary.fees_paid.amount | number | Exact all-time trader-paid fees in USD |
accounting_summary.fees_paid.raw | string | Exact all-time trader-paid fees in 6-decimal raw units |
accounting_summary.fees_paid.fee_fill_count | integer | Number of order-owner fills with a positive fee |
accounting_summary.fees_paid.order_owner_fill_count | integer | Number of indexed order-owner fills for the wallet |
accounting_summary.maker_rebates.status | string | Maker rebate projection status. not_loaded means do not treat the amount as zero. |
accounting_summary.rewards.status | string | Reward projection status. not_loaded means do not treat the amount as zero. |
accounting_summary.order_filled_through_block | string | Latest block covered by the order-filled accounting projector |
accounting_summary.projector_status | string | Current projector status |

