> ## Documentation Index
> Fetch the complete documentation index at: https://docs.polymarket.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Perps Changelog

> Recent changes to the Polymarket Perps API and platform

Notable changes to the Polymarket Perps API.

<Update label="Aug 10, 2026" description="Fills gain an adl flag; liq no longer set on ADL counterparty legs">
  Fill entries now carry a required boolean `adl` field on both the WebSocket
  `fills` channel and `GET /v1/account/fills`, set on both legs of an
  auto-deleveraging match. Behavior change: the counterparty leg of an ADL match
  previously reported `liq: true` on the WebSocket `fills` channel; it now
  reports `liq: false`. `liq` marks only the leg whose own position is being
  liquidated. Clients that detect forced closes via `liq` alone will no longer
  see ADL counterparty fills — check `adl` as well.
</Update>

<Update label="Aug 8, 2026" description="Position deleveraged notification added">
  Added the <code>position\_deleveraged</code> notification, sent to the
  counterparty of an auto-deleveraging match when its profitable position is
  closed or reduced to settle a liquidation on the other side. Delivered on the
  WebSocket <code>notifications</code> channel and in the notifications history.
</Update>

<Update label="Aug 7, 2026" description="Exchange info reports engine version and cancel-only state">
  `GET /v1/info/exchange` now includes `engine_version`, the engine release
  version of the build serving the response. The response also documents
  `cancel_only`, which reports whether the exchange is in cancel-only
  (maintenance) mode; the flag has been returned since maintenance mode shipped
  on Jul 15.
</Update>

<Update label="Aug 6, 2026" description="Portfolio margin summary includes available order margin">
  The portfolio response and <code>portfolio</code> WebSocket channel now
  include <code>margin.available\_order\_margin</code>: the collateral available
  for additional order initial margin after existing exposure, open orders,
  orders and isolated-margin additions awaiting risk processing, and pending
  withdrawals or transfers.
</Update>

<Update label="Jul 6, 2026" description="Cancel all orders added">
  Added <code>DELETE /v1/trade/orders/all</code> to cancel all open orders in
  one request, optionally scoped to a single instrument. Available in the SDKs
  as <code>cancelAllOrders</code> (TypeScript) and{" "}
  <code>cancel\_all\_orders</code> (Python).
</Update>

<Update label="Jun 11, 2026" description="Cancel responses include order IDs">
  Cancel responses now include `oid` and `coid` fields.
</Update>

<Update label="Jun 10, 2026" description="Taker delay added for immediately matching orders">
  Added a 20ms taker delay for orders that immediately match on entry.
</Update>

<Update label="Jun 9, 2026" description="Reduce-only orders added">
  Added the reduce-only field to order submission and order updates.
</Update>

<Update label="Jun 8, 2026" description="Auto-cancel and rate-limit updates">
  <ul>
    <li>
      Added <code>PATCH /v1/trade/auto-cancel</code> to arm or clear a dead
      man's switch that cancels all open orders at a specified time.
    </li>

    <li>
      Added <code>GET /v1/account/auto-cancel</code> to check the current
      auto-cancel status, trigger count, and daily reset time.
    </li>

    <li>Auto-cancel is limited to 1000 triggers per UTC day per account.</li>

    <li>
      Added <code>updateLeverage</code> and <code>autoCancel</code> WebSocket
      post messages.
    </li>

    <li>
      <code>portfolio</code> and <code>balances</code> WebSocket channels no
      longer push updates on every order or fill, only periodically.
    </li>

    <li>
      Rate limit error messages now distinguish between{" "}
      <code>ip\_rate\_limited</code>, <code>action\_rate\_limited</code>, and{" "}
      <code>message\_rate\_limited</code>.
    </li>
  </ul>
</Update>
