Order Types
Order types available for prediction market trading through Polymarket's CLOB.
Polymarket's smart contracts only support limit orders as the underlying primitive. Market orders are simulated by submitting limit orders at prices guaranteed to cross the book.
Limit Orders
A limit order specifies the maximum price you will pay (for buys) or minimum price you will accept (for sells). The order rests on the book until filled, cancelled, or expired.
Parameters
Side: Buy or Sell
Token: Yes or No outcome token
Price: Your limit price ($0.01 to $0.99)
Size: Number of shares
Time-in-Force: GTC, FOK, or GTD
How It Works
You submit a limit buy for 100 Yes shares at $0.55
If resting asks exist at $0.55 or lower, your order fills immediately
Any unfilled portion rests on the book at $0.55
When a matching sell arrives, your order fills
Partial Fills
Limit orders can partially fill. If you order 100 shares and only 40 are available at your price, you receive 40 shares and the remaining 60 rest on the book.
Market Orders
Market orders execute immediately at the best available prices. Since Polymarket's contracts only accept limit orders, market orders are constructed by:
Scanning the orderbook for available liquidity
Calculating the worst price needed to fill your entire order
Submitting a limit order at that price
This guarantees immediate execution but not price. Large market orders can experience significant slippage.
Use When
You need immediate execution
The orderbook has sufficient depth
You accept the current market price
Important Notes
No price guarantee beyond the worst price in the book
Check orderbook depth before placing large market orders
Consider limit orders if you have time and want price control
Time-in-Force Options
Time-in-force determines how long your order remains active.
GTC (Good-Til-Cancelled)
The default option. Your order remains on the book until:
Fully filled
You cancel it
The market resolves
Use GTC when you want to wait for your price.
FOK (Fill-Or-Kill)
Your order must fill completely and immediately. If the full size cannot be matched against resting liquidity, the entire order is cancelled.
Full size available
Order fills entirely
Partial size available
Order cancelled
No liquidity at your price
Order cancelled
Use FOK for large orders where partial fills are unacceptable.
GTD (Good-Til-Date)
Your order expires at a specified timestamp. Until then, it behaves like a GTC order.
Use GTD when you want exposure only until a certain time (e.g., before an event starts).
Order Lifecycle
Placement
You submit order parameters to Bullpen
Order is formatted as EIP-712 structured data
You sign the order with your wallet
Signed order is sent to Polymarket's CLOB operator
Validation
The operator validates:
Your signature is correct
You have sufficient USDC.e balance or token balance
Allowances are set for the Exchange contract
Price and size are within valid ranges
Invalid orders are rejected immediately.
Matching
Valid orders enter the matching engine:
Marketable orders cross against resting liquidity immediately
Non-marketable orders rest on the book awaiting a match
Matches are batched and submitted to the blockchain
Settlement
Matched orders settle on Polygon:
The Exchange contract verifies both signatures
Tokens and collateral transfer atomically
Your proxy wallet receives the outcome tokens or USDC.e
Monitoring
Orders are continuously monitored for validity:
Balance checks ensure you can still cover the order
Allowance checks verify contract permissions
On-chain cancellations are detected
Orders that become invalid are removed from the book.
Order Constraints
Balance Reservation
Your USDC.e balance is reserved when you place buy orders. You cannot place orders exceeding your available balance for each market.
Example:
Balance: 500 USDC.e
Order 1: Buy 1,000 Yes at $0.50 (reserves 500 USDC.e)
Order 2: Any additional buy order in this market is rejected
Price Bounds
Minimum price: $0.01
Maximum price: $0.99
Prices outside this range are rejected
Size Limits
Minimum and maximum order sizes may apply depending on the market. Check individual market parameters.
Best Practices
Use limit orders when you have a target price and can wait
Check depth before market orders to estimate slippage
Use FOK for large orders that must fill completely
Cancel stale orders to free up reserved balance
Monitor fills since partial fills are common with limit orders
Last updated

