Skip to main content
The Polymarket US API enforces rate limits to ensure fair usage and system stability. All limits are per participant firm unless stated otherwise.

REST API

Trading Endpoints

REST API traffic is subject to a firm-wide cap of 100 requests per second per firm, averaged over a 1-minute window. This means short bursts above 100 req/sec are permitted as long as the average stays within budget. Some REST endpoints may also enforce additional lower limits, such as the query/report endpoints listed below. RFQ requests use the limits in RFQ Endpoints.

Query / Report Endpoints

In addition to the firm-wide REST cap above, these read-heavy endpoints have lower per-firm limits. Cache responses where noted.

Combos Endpoints

In addition to the firm-wide REST cap above, Combos endpoints have these per-firm limits:

RFQ Endpoints

The institutional polymarket.v1.RFQAPI endpoints have these per-firm limits, shared across REST and unary gRPC requests: Each row above has a separate per-firm endpoint bucket with one second of burst capacity. Traffic to one method does not consume another method’s endpoint-specific allowance. Exchange-wide limits also apply.

RFQ rate-limit tiers

Your RFQ tier determines your CreateQuote and DeleteQuote limits. Each method has its own allowance:

RFQ volume share & tier requirements

Your RFQ volume share is your RFQ-originated maker contracts over the trailing 30 days divided by the total RFQ-originated maker contracts across all firms, including retail participants, over the same period. A fill counts when its passive (maker) order originated from an RFQ. Each filled contract counts once, regardless of its price or the number of combo legs. Once you meet the Earn volume share for a given tier, you are eligible for that tier’s RFQ rate limits. You must keep at least the Maintain volume share to stay eligible for your current tier. Maintain is 80% of Earn. If you drop below the Maintain volume share, your rate limit will not drop immediately. You will have 30 days to get back to at least the Maintain volume share before being moved to a lower tier. RFQ and FIX tiers use separate volume measures and eligibility thresholds.

Public (Unauthenticated) Endpoints

gRPC Streaming

Ingress rate is averaged over a 1-minute window, allowing short bursts. Exceeding the average limit will result in throttled or rejected messages. This limit applies to all participants. The StreamRFQEvents limit is checked only when opening a stream. It does not limit server-pushed RFQ or quote events on an established stream.

FIX Protocol

FIX rate limiting is enforced at the FIX gateway level. Rate limits are determined by tier. Tiers are determined by your trading volume share on Polymarket US.

Volume share & tier requirements

Each day, Polymarket US sums your 30-day trailing notional volume (contracts × execution price) and divides it by the same figure across the exchange. This number is your volume share. Once you meet the Earn volume share for a given tier, you are automatically eligible for the tier’s rate limit. You must keep at least the Maintain volume share to stay eligible for your current tier. If you drop below the Maintain volume share, your rate limit will not drop immediately. You will have 30 days to get back above the Maintain volume share before being moved to a lower tier. Each tier has its own Earn and Maintain volume share requirement, seen below. Accelerated Tier Placement: A Participant may provide verifiable proof of their trailing-30-day notional trading volume on another prediction market venue and be assigned to the tier corresponding to that volume.

Summary

Rate Limit Response

When rate limited, the REST API returns:
HTTP Status: 429 Too Many Requests

Retry Strategy

When receiving a 429 response:
  1. Stop making requests immediately
  2. Wait 1 second before retrying
  3. Implement exponential backoff for repeated 429s
  4. Consider reducing your request rate

Latency Stopgap on Orders

During periods of increased latency, Polymarket US applies a 5-second stopgap to inbound orders. If an order has been received by Polymarket US but has not been processed within 5 seconds, we reject it to protect you from a bad fill at a stale price.
These rejects carry the message Global Rate Limit Exceeded, but they are not an actual rate limit. You do not need to throttle your traffic in response to them. Treat them as a transient latency reject, not a signal to back off.
What it applies to:
  • New orders — rejected if not processed within 5 seconds.
  • Order modifications via cancel/replace — also subject to the stopgap.
  • Pure cancels are not affected — a standalone cancel is never rejected by this stopgap.
You can always cancel an order before you have received an acknowledgement, and even before it has been processed.

Best Practices

Use Streaming Instead of Polling

The API is designed as a streaming-first system. Instead of repeatedly polling for updates, subscribe to real-time streams:
Streaming connections don’t count against the REST rate limit. One streaming connection can replace hundreds of polling requests. New StreamRFQEvents connections are limited to one open attempt per second per firm, so reconnect with backoff.

Cache Reference Data

Reference data (instruments, symbols, metadata) changes infrequently - ListInstruments and ListSymbols are limited to just 6 req/min. Cache responses locally:

Batch Operations

Where possible, batch your operations instead of making individual requests:
  • Use SearchOrders with filters instead of fetching orders one by one
  • Use ListInstruments with symbol filters instead of individual lookups
  • Subscribe to multiple symbols in a single streaming connection

Monitoring Your Usage

Track your request patterns to stay within limits:

Abuse Prevention

Patterns that may result in temporary or permanent restrictions:
  • Sustained requests above the rate limit
  • Polling for data available via streaming
  • Requesting the same unchanged data repeatedly
  • Automated retry loops without backoff
Abuse of the API may result in temporary or permanent restrictions on your API credentials. Contact onboarding@polymarket.us if you need higher limits for legitimate use cases.

Troubleshooting Rate Limits

Consistently Hitting Limits

If you’re consistently receiving 429 errors:
  • Reduce request frequency
  • Batch multiple operations where possible
  • Cache responses that don’t change frequently (reference data, instrument lists)
  • Use streaming endpoints instead of polling
  • Contact support to discuss higher rate limits for production use

Need Higher Limits

For production use cases requiring higher limits:
  1. Document your use case and expected volume
  2. Contact support at onboarding@polymarket.us
  3. Provide environment (dev, preprod, prod)
  4. Specify which endpoints you need higher limits for

Next Steps

gRPC Streaming

Replace polling with real-time streams

Authentication

Set up API authentication