Polymarket API error messages
Each documented CLOB error has its own page with the cause, the endpoints that return it and whether retrying can help. Use your browser's find to locate your exact message.
These are Polymarket's errors. PolyTest's own are on API error codes.
Global Errors
- 401Unauthorized/Invalid api keyDon't retry, fix credentials
- 401Invalid L1 Request headersDon't retry, fix credentials
- 503Trading is currently disabled. Check polymarket.com for updatesWait for the exchange
- 429Too Many RequestsRetry after the delay
Order Book
- 400Invalid token idDon't retry
- 404No orderbook exists for the requested token idDon't retry
- 400Invalid payloadDon't retry
- 400Payload exceeds the limitDon't retry
Pricing
- 400Invalid sideDon't retry
Place Orders
- 400Invalid order payloadDon't retry
- 400the order owner has to be the owner of the API KEYDon't retry
- 400the order signer address has to be the address of the API KEYDon't retry
- 400'{address}' address bannedDon't retry
- 400'{address}' address in closed only modeDon't retry
- 503Trading is currently cancel-only. New orders are not accepted, but cancels are allowed.Wait for the exchange
- 503post-only mode: only post-only orders and cancels are allowedWait for the exchange
- 400Too many orders in payload: {N}, max allowed: {M}Don't retry
Order Processing Errors
- 400invalid post-only order: order crosses bookDon't retry
- 400order {id} is invalid. Price ({price}) breaks minimum tick size rule: {tick}Don't retry
- 400order {id} is invalid. Size ({size}) lower than the minimum: {min}Don't retry
- 400order {id} is invalid. Duplicated.Don't retry
- 400order {id} crosses the bookDon't retry
- 400not enough balance / allowanceDon't retry
- 400invalid expirationDon't retry
- 400order canceled in the CTF exchange contractDon't retry
- 400order match delayed due to market conditionsSafe to retry
- 400order couldn't be fully filled. FOK orders are fully filled or killed.Don't retry
- 400no orders found to match with FAK order. FAK orders are partially filled or killed if no match is found.Don't retry
- 400the market is not yet ready to process new ordersDon't retry
- 500order timed outSafe to retry
Matching Engine Errors
- 500there are no matching ordersSafe to retry
- 500FOK orders are filled or killedSafe to retry
- 500the trade contains rounding issuesSafe to retry
- 500the price of the taker's order has a discrepancy greater than allowed with the worst maker orderSafe to retry
Cancel Orders
- 400Invalid orderIDDon't retry
- 400Too many orders in payload, max allowed: {N}Don't retry
Query Orders
- 500Internal server errorSafe to retry
- 400invalid order params payloadDon't retry
Trades
- 400Invalid trade params payloadDon't retry
Markets
- 400Invalid marketDon't retry
- 404market not foundDon't retry
Price History
- 400startTs is requiredDon't retry
- 400asset_id is requiredDon't retry
- 400invalid fidelity: {val}Don't retry
- 400limit cannot exceed 1000Don't retry
Authentication and API Keys
- 400Could not create api keyDon't retry
- 500Could not retrieve API keysSafe to retry
- 500Could not delete API keySafe to retry
- 400Could not derive api key!Don't retry
Builder API Keys
- 500could not create builder api keySafe to retry
- 500could not get builder api keysSafe to retry
- 400invalid revoke builder api key bodyDon't retry
- 400invalid revoke builder api key headersDon't retry
- 500could not revoke the builder api key: {key}Safe to retry
Builder Trades
- 400invalid builder trade paramsDon't retry
- 500could not fetch builder tradesSafe to retry
Balance and Allowance
- 400Invalid asset typeDon't retry
- 400Invalid signature_typeDon't retry
From Polymarket's error reference, synced 2026-10-04.