Lighter - Positions

Get Lighter account position changes

Position change log of one account in [start, end): every trade, liquidation, deleverage, or settlement leg with the position before and after, in timestamp order. end is clamped to meta.built_through. A window too large to answer in time returns an error asking for a narrower one. The change log and hourly history start January 17, 2025; live snapshots refresh every 2 minutes. Rows past the trade finalization watermark are preliminary (finalized: false). Billed at 1 credit per 1,000 rows returned, minimum 1 credit per request.

get/v1/lighter/accounts/{account_index}/positions/changes

Request

  • Base URL: https://api.0xarchive.io
  • URL: https://api.0xarchive.io/v1/lighter/accounts/{account_index}/positions/changes
  • Auth: API key in header X-API-Key

Path parameters

account_indexstring required
Example:513030

Lighter account index (an integer). Resolve an L1 address on Lighter mainnet with GET /v1/lighter/accounts?l1_address=0x...

Query parameters

startinteger

Inclusive start in Unix milliseconds. Defaults to 24 hours before end.

endinteger

Exclusive end in Unix milliseconds. Defaults to now.

symbolstring

Only this perpetual (e.g. BTC). Pass it exactly as the instruments route lists it, in uppercase.

limitinteger

Maximum rows per page (default 500, max 5000).

cursorstring

Cursor from the previous response meta.next_cursor. Keep every other parameter unchanged.

Response

Get Lighter account position changes

successboolean required

Example response

{
  "success": true,
  "data": [
    {
      "timestamp": "2026-09-25T14:03:11.482Z",
      "account_index": "513030",
      "account_kind": "user",
      "symbol": "BTC",
      "coin": "BTC",
      "dex": "xyz",
      "side": "B",
      "price": "65010.2",
      "size": "0.25",
      "start_position": "-0.5",
      "end_position": "-0.25",
      "entry_price_after": "64210.5",
      "event_type": "reduce",
      "cause": "trade",
      "direction": "Close Short",
      "closed_pnl": "19.9",
      "realized_pnl": "19.9",
      "fee": "0.4875",
      "fee_token": "USDC",
      "crossed": true,
      "trade_id": 26121110211,
      "order_id": 844421856609148,
      "block_number": 745512345,
      "event_index": 12,
      "continuity": "ok",
      "position_size_before": "-0.5",
      "position_size_after": "-0.25",
      "fee_rate": "0.00002",
      "fee_usdc": "0.325",
      "usdc_amount": "16252.55",
      "finalized": true
    }
  ],
  "meta": {
    "totals": {
      "symbol": "BTC",
      "coin": "BTC",
      "dex": "xyz",
      "long_count": 18234,
      "short_count": 15102,
      "long_size": "8123.45",
      "short_size": "8120.1",
      "long_value": "528000000.5",
      "short_value": "527800000.25",
      "long_avg_entry_price": "63120.4",
      "short_avg_entry_price": "66210.9",
      "long_positions_with_entry": 18230,
      "short_positions_with_entry": 15100,
      "long_top10_value_share": "0.412345",
      "short_top10_value_share": "0.385",
      "top10_value_share": "0.301",
      "quality": "complete"
    }
  }
}

Changes

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