> For the complete documentation index, see [llms.txt](https://docs.bullpen.fi/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bullpen.fi/prediction-markets/order-types.md).

# 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

1. You submit a limit buy for 100 Yes shares at $0.55
2. If resting asks exist at $0.55 or lower, your order fills immediately
3. Any unfilled portion rests on the book at $0.55
4. 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:

1. Scanning the orderbook for available liquidity
2. Calculating the worst price needed to fill your entire order
3. 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.

| Scenario                   | Result               |
| -------------------------- | -------------------- |
| 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

1. You submit order parameters to Bullpen
2. Order is formatted as EIP-712 structured data
3. You sign the order with your wallet
4. 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:

1. **Marketable orders** cross against resting liquidity immediately
2. **Non-marketable orders** rest on the book awaiting a match
3. Matches are batched and submitted to the blockchain

### Settlement

Matched orders settle on Polygon:

1. The Exchange contract verifies both signatures
2. Tokens and collateral transfer atomically
3. 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


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.bullpen.fi/prediction-markets/order-types.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
