Get the authenticated user's current live position exposure
Returns the caller's current positions from the lowest-latency source available, which is always at least as fresh as the synchronous fill path. This is the RECOMMENDED source of truth for "what do I currently hold" while actively trading — prefer it over any aggregate that may lag behind live fills. Three buckets, each token appears in at most one:
- positions — open positions (net_size != 0), with available_to_sell (net size minus outstanding sell reservations) and reserved.
- closed_token_ids — tokens the store just folded flat (within a 10-minute window); callers may use presence here to zero any stale cached position for that token.
- resolved — held tokens whose MARKET HAS RESOLVED, split out so a resolved loser is never confused with an open position; redeemable is true for a won (claimable) outcome, false for a loss.
Absence from every bucket means the store has no current opinion on that token (neither "open" nor "just closed") — leave any previously-cached value as-is. Central fallback. On a deployment without a cell-local position store the response is built from central Postgres instead. In that mode available_to_sell always equals net_size, reserved is always 0, and closed_token_ids is always empty — the reservation view is a regional-node feature. Auth & scope. Requires position:read. Takes no query, path or body parameters.
Request
- Base URLhttps://execution.kairos.trade
- AuthAPI key in header X-Client-Id and API key in header X-Api-Key and API key in header X-Api-Secret
Response
Current position exposure.
Example response
{
"positions": [
{
"net_size": "100",
"avg_entry_price_bps": 5200
}
],
"closed": [
{
"exchange_id": "hyperliquid"
}
]
}Changes
No recorded changes to this operation across all 1 revision of this API.