List liquidations, newest first
/v1/chains/{chain}/perpl/liquidationsCall this for the feed of forced closes. The list is ordered by block and log index, newest first, and market narrows it to one market, also one that was retired. An item holds the block, time, transaction hash tx and log_index of the event, the perp_id and market symbol (the perp id as a string when Sona knows no symbol), the account_id, account_address (the wallet, null until Sona has resolved it) and side of the liquidated position, the mark and the liq_price the position was closed at, the liquidated size and the remaining_size of the position (0 for a full liquidation), notional_usd, whether it closed on_order_book, and the keeper, the address that sent the transaction (null while Sona has not resolved it).
The liq_price of an event is the price that the position was closed at, which can differ from the trigger price of its liquidation. Do not compare it with the price of the liquidation map.
A page holds limit items, 50 by default and 200 at most. When more are left, the record has a next_cursor, the cursor of the last item. Pass it back as cursor, with the same market, for the next page. The last page has no next_cursor. A cursor stays valid: newer events never move older ones.
Path parameters
| Name | Type | Description |
|---|---|---|
chainRequired | string | The chain, as a CAIP-2 chain ID. Only Monad, |
Query parameters
| Name | Type | Description |
|---|---|---|
market | string | Only this market, as its symbol in any case or its decimal perp id. Without it every market is counted. A market that has no mark price any more can still be named here, because its history stays. An unknown market answers 404 |
limit | integerDefault 50 | The most items to return in one page, from 1 to 200. The default is 50. |
cursor | string | The |
Response
The answer, wrapped in the {data, meta, links} envelope. data.kind is perpl_liquidations. meta.as_of names the snapshot block.
| Field | Type | Description |
|---|---|---|
| chain | string | The CAIP-2 id of the chain. |
| coverage | array of strings | The codes of the limits that apply to this answer, in a fixed order. It is empty when none applies. The status route explains each code. |
| items | array of objects | The liquidations, newest first. |
| kind | string | perpl_liquidations |
| next_cursor | string | Send it as |
Cost
1 credit. The time limit is 5 seconds.
Errors
| Status | Code |
|---|---|
| 400 | invalid_query |
| 404 | not_foundunsupported_chain |
| 429 | rate_limitedcredits_exhausted |
| 500 | internal |
| 503 | upstream_unavailable |
| 504 | deadline_exceeded |
400 invalid_query for a bad limit, cursor or market, 404 not_found, 404 unsupported_chain, 503 and 504 as elsewhere.