---
title: "Get user liquidation history"
method: GET
path: "/v1/users/{user_pubkey}/liquidation-history"
tags: ["Trader"]
---

# Get user liquidation history

`GET /v1/users/{user_pubkey}/liquidation-history`

Handles `GET /v1/users/{user_pubkey}/liquidation-history` via `get.v1.users.by_user_pubkey.liquidation_history`.

## Path parameters

- `user_pubkey` string, required

## Query parameters

- `pdaIndex` integer
- `subaccountIndex` integer, nullable
- `symbol` string, nullable
- `limit` integer
- `cursor` string, nullable

## Response `200`

- PaginatedResponseVecUserLiquidationHistoryPoint — Generic paginated response wrapper with bidirectional cursor support. The cursor system supports both forward (newer) and backward (older) pagination: - `prev_cursor`: Use this cursor to poll for new items (items newer than the current result set) - `next_cursor`: Use this cursor to load more items (items older than the current result set) The direction is embedded in the cursor itself, so clients just need to pass the appropriate cursor to the `cursor` parameter.
  - `data` object[], required
    - `atLossCloseValue` string, nullable
    - `atLossCollateralChange` string, nullable
    - `baseLotsFilled` string, nullable
    - `caller` string, nullable
    - `closedLong` string, nullable
    - `closedShort` string, nullable
    - `eventIndex` integer, required
    - `haircutRateBps` integer, nullable
    - `inProfitAccount` string, nullable
    - `inProfitCloseValue` string, nullable
    - `inProfitCollateralChange` string, nullable
    - `ixName` string, required — Indexed instruction name that emitted this event.
    - `kind` 'market_order' | 'adl' | 'backstop', required — User-scoped liquidation history event kind.
    - `liquidatee` string, nullable
    - `liquidateeCollateralChange` string, nullable
    - `liquidator` string, nullable
    - `liquidatorCollateralChange` string, nullable
    - `market` string, required — Alias for `symbol`, included for clients that present this field as the market.
    - `positionClosed` boolean, nullable
    - `price` string, nullable
    - `quoteLotsFilled` string, nullable
    - `quoteSize` string, nullable
    - `role` 'liquidatee' | 'backstop_liquidatee' | 'adl_closed_short' | 'adl_closed_long' | 'adl_in_profit' | 'adl_caller', required — Role the requested user played in a liquidation-related event.
    - `side` string, nullable
    - `signature` string, nullable
    - `size` string, nullable
    - `slot` integer, required
    - `slotIndex` integer, required
    - `subaccountIndex` integer, nullable
    - `symbol` string, required — Market symbol, for example `SOL-PERP`.
    - `timestamp` integer, required
    - `type` 'market' | 'adl' | 'backstop', required — High-level liquidation-related event type.
  - `hasMore` boolean, required — Whether there are more results available after this page
  - `nextCursor` string, nullable — Opaque cursor for fetching the next page of older results. Pass this value as the `cursor` parameter in the next request to load more.
  - `prevCursor` string, nullable — Opaque cursor for fetching newer items (for polling). Pass this value as the `cursor` parameter to get items newer than the first item in data.

---

[API](https://skmtc.net/phoenix/apis/phoenix-eternal-api.md) · [All operations](https://skmtc.net/phoenix/apis/phoenix-eternal-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/phoenix/phoenix-eternal-api/versions/0f598402d680/schema)
