Polymarket API reference / CLOB API
DELETE/order

Cancel single order

Cancels a single order by its ID. Works even in cancel-only mode.

Base URL
https://clob.polymarket.com
Auth
L2 API credentials (key, secret, passphrase)POLY_API_KEY, POLY_ADDRESS, POLY_SIGNATURE, POLY_PASSPHRASE, POLY_TIMESTAMP
Rate limit
5,000 req / 10s (500 per second)sustained 120,000 req / 10 min
Limit applies to
DELETE /order

Things to know

Trading endpoints carry two Cloudflare limits: a burst of 5,000 req / 10s and a sustained 120,000 req / 10 min. Separate per-signer token buckets, sized by 30-day volume, apply on top.

Request body

FieldTypeRequiredDescription
orderIDstringyesOrder ID (order hash) to cancel

Example

curl -X DELETE "https://clob.polymarket.com/order" \
  -H "Content-Type: application/json" \
  -H "POLY_API_KEY: $POLY_API_KEY" \
  -H "POLY_ADDRESS: $POLY_ADDRESS" \
  -H "POLY_SIGNATURE: $POLY_SIGNATURE" \
  -H "POLY_PASSPHRASE: $POLY_PASSPHRASE" \
  -H "POLY_TIMESTAMP: $POLY_TIMESTAMP" \
  -d '{
  "orderID": "<orderID>"
}'

L2 requests are signed with HMAC-SHA256 using your API secret, and the timestamp is part of the signature, so keep the machine's clock accurate. A missing credential or a stale signature both come back as Unauthorized/Invalid api key. The Python SDK signs for you.

Response fields

FieldTypeDescription
canceledstring[]Array of order IDs that were successfully canceled
not_canceledobjectMap of order IDs that could not be canceled with error messages

Responses

StatusMeaning
200Order cancellation result
400Bad request - Invalid order ID or payload
401Unauthorized - Invalid API key or authentication failed
500Internal server error
503Service unavailable - Trading disabled (cancels still work in cancel-only mode)

Errors this endpoint returns

Related endpoints

Polymarket's API serves current state only, so it cannot show what a market's book looked like after it resolved. PolyTest records Up/Down markets while they run and keeps the snapshots. Try it free, or read the full rate limit reference.

From Polymarket's published OpenAPI spec and rate-limit tables, synced 2026-10-04.