Overview
Market makers primarily interact with Polymarket through the CLOB (Central Limit Order Book) API to post and manage limit orders.Order Entry
Posting Limit Orders
Use the CLOB client to create and post limit orders:Batch Orders
For efficiency, post multiple orders in a single request:Order Types
| Type | Behavior | MM Use Case |
|---|---|---|
| GTC (Good Till Cancelled) | Rests on book until filled or cancelled | Default for passive quoting |
| GTD (Good Till Date) | Auto-expires at specified time | Auto-expire before events |
| FOK (Fill or Kill) | Fill entirely immediately or cancel | Aggressive rebalancing (all or nothing) |
| FAK (Fill and Kill) | Fill available immediately, cancel rest | Partial rebalancing acceptable |
When to Use Each
For passive market making (maker orders):- GTC - Standard quotes that sit on the book
- GTD - Time-limited quotes (e.g., expire before market close)
- FOK - When you need exact size or nothing
- FAK - When partial fills are acceptable
Order Management
Cancel Orders
Cancel individual orders or all orders:Get Active Orders
Monitor your open orders:Best Practices
Quote Management
- Two-sided quoting - Post both bids and asks to earn maximum liquidity rewards
- Monitor inventory - Skew quotes based on your position
- Cancel stale quotes - Remove orders when market conditions change
- Use GTD for events - Auto-expire quotes before known events
Latency Optimization
- Batch orders - Use
postOrders()instead of multiplecreateAndPostOrder()calls - WebSocket for data - Use WebSocket feeds instead of polling REST endpoints
Risk Management
- Size limits - Check token balances before quoting; don’t exceed inventory
- Price guards - Validate against book midpoint; reject outlier prices
- Kill switch - Use
cancelAll()on error or position breach - Monitor fills - Subscribe to WebSocket user channel for real-time fill updates
Tick Sizes
Markets have different minimum price increments:Fee Structure
| Role | Fee |
|---|---|
| Maker | 0 bps |
| Taker | 0 bps |