Skip to main content
GET
Get merged PnL data for a user across one or more wallets/providers

Authorizations

X-Client-Id
string
header
required

Credential client id (kairos_ck_...). Must be sent together with X-Api-Key and X-Api-Secret.

X-Api-Key
string
header
required

64-char hex API key.

X-Api-Secret
string
header
required

64-char hex API secret.

Path Parameters

user_id
string
required

Kairos internal user id. Must match the authenticated caller's own id.

Maximum string length: 128

Query Parameters

polymarket_wallet
string

Polymarket (Ethereum) wallet address.

Maximum string length: 128
kalshi_wallet
string

Kalshi user ID (opaque internal identifier, not a wallet address).

Maximum string length: 128
hyperliquid_wallet
string

Hyperliquid EVM address (HIP-4 positions key off this same deposit/trade address).

Maximum string length: 128
provider
string[]

Filter merged PnL to these provider(s). Repeatable query param.

Maximum array length: 16
limit
integer
default:500

Records per page.

Required range: 1 <= x <= 500
offset
integer
default:0

Records to skip.

Required range: 0 <= x <= 10000

Response

Merged PnL summary and records for the user.

Full merged PnL response for a user, across the requested wallets/providers.

user_id
string
required
Example:

"usr_9f3c2a1b"

summary
object
required

Merged PnL summary across all providers/wallets supplied for a user.

records
object[]
required
filters_applied
object
required

Echoes the effective filters used to build this response (wallets, providers, etc.).

total
integer
default:0

Count of merged records the aggregator returned before pagination slicing, bounded by the per-provider fetch ceiling (min(limit+offset, 1000)) — not an authoritative full-history count.

Example:

143

has_more
boolean
default:false

True only when the aggregator definitively saw more records than this page returned.