PnL

Wallet-wide PnL totals across all markets

Wallet-wide PnL totals aggregated across every market the wallet has touched, refreshed hourly — a fast point lookup rather than a live scan. For real-time per-market freshness on a single active market, use /pnl/hover/{provider_id}/{wallet}/{contract_id} instead. Same provider restriction as /pnl/hover: only polymarket, opinion, predictfun are accepted; kalshi and hyperliquid are rejected with 400 and must use /pnl/{user_id}. When the underlying pipeline is disabled, returns a well-formed zero payload (market_count: 0, token_count: 0, all dollar totals 0.0, snapshot_ts set to the current time) instead of erroring. For API-key callers, the requested provider must additionally have its API access enabled.

get/pnl/wallet-totals/{provider_id}/{wallet}

Request

  • Base URL
    https://data.kairos.trade
  • Auth
    API key in header X-Client-Id and API key in header X-Api-Key and API key in header X-Api-Secret

Path parameters

provider_id'polymarket' | 'opinion' | 'predictfun' required

MV-pipeline provider id. kalshi and hyperliquid are rejected with 400.

walletstring required

Wallet address (opaque string; trimmed, length-checked — not format-validated at this layer).

Response

Wallet-wide PnL totals as of the last hourly snapshot. Returns a zeroed payload (not a 404) when the underlying PnL pipeline is disabled.

provider_id'polymarket' | 'opinion' | 'predictfun' required
wallet_addressstring required
total_unrealized_pnl_usdnumber double required
total_realized_pnl_usdnumber double required
total_position_value_usdnumber double required
total_cost_basis_usdnumber double required
market_countinteger required
token_countinteger required
snapshot_tsstring date-time required

ISO-8601 timestamp of the hourly snapshot this data was read from (or the current time when native_pnl_pipeline is disabled).

Example response

{
  "provider_id": "polymarket",
  "wallet_address": "0x1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b",
  "total_unrealized_pnl_usd": 340.2,
  "total_realized_pnl_usd": 1250.4382,
  "total_position_value_usd": 980,
  "total_cost_basis_usd": 640,
  "market_count": 12,
  "token_count": 19,
  "snapshot_ts": "2026-07-22T13:00:00Z"
}

Changes

No recorded changes to this operation across all 1 revision of this API.