Place a buy or sell order on Predict.fun
venue: "predict" in the request body.
predictWalletAddress to fund their account."46954") and two or more outcomes (e.g., “Nuggets” and “Lakers”). Each outcome has a unique token ID — a large numeric string that identifies it on-chain.
To place an order, you need both the marketId and the tokenId for the specific outcome you want to trade.
tokenId is the on-chain outcome token ID shown in market details.| Field | Type | Required | Description |
|---|---|---|---|
venue | string | Yes | Must be "predict" |
tokenId | string | Yes | On-chain outcome token ID from Predict market data |
marketId | string | Yes | Numeric Predict market ID (e.g., "46954") |
side | string | Yes | "buy" or "sell" |
type | string | Yes | "limit" or "market" |
amount | string | Market BUY only | USDT to spend |
size | string | Market SELL / all limits | Number of shares |
price | string | Limit orders only | Price per share (between 0 and 1, exclusive) |
venue, tokenId, and marketId separately, you can use a composite marketIdentifier:
predict:<marketId>:<tokenId>. If marketIdentifier is provided, venue, marketId, and tokenId are parsed from it automatically. Explicit fields override parsed values.
The marketIdentifier is returned in all order and position responses, so you can reuse it directly when placing new orders on the same market.
| Order Type | Required Fields | Rejected Fields |
|---|---|---|
| Market BUY | amount (USDT) | size |
| Market SELL | size (shares) | amount |
| Limit BUY | size + price | amount |
| Limit SELL | size + price | amount |
| Constraint | Value |
|---|---|
| Min order value | ~$0.90 USDT |
| Price range | 0 – 1 (exclusive) |
| Status | Description |
|---|---|
open | Resting on the orderbook (limit orders) |
filled | Order fully executed |
cancelled | Order was cancelled |
expired | Order expired |
pending | Submitted but not yet confirmed (rare) |
price in order responses reflects the price before the exchange feefee field in Predict order responses (unlike Polymarket)| Field | Type | Description |
|---|---|---|
orderId | string | Order hash (used for cancel, lookup) |
venue | string | "predict" |
marketIdentifier | string | Composite identifier (predict:<marketId>:<tokenId>) |
tokenId | string | Outcome token ID |
side | string | "buy" or "sell" |
outcome | string | Outcome name (e.g., "Nuggets", "Yes") |
size | string | Number of shares |
price | string | Execution price (market) or requested price (limit) |
status | string | Order status (see table above) |
createdAt | string | ISO 8601 timestamp |
sizeMatched | string | Shares filled (present when order has fills) |
originalSize | string | Original requested size (present for market sell orders) |
size since the input is USDT-based. Use sizeMatched to see the shares received.Unique identifier for the user
Buy or sell
buy, sell Order type
limit, market Trading venue ('polymarket' or 'predict')
polymarket, predict Outcome token ID
Numeric market ID (required for Predict orders)
Composite identifier (e.g., 'predict:46954:tokenId'). Alternative to providing venue, marketId, and tokenId separately.
USDC to spend (market BUY only)
Number of shares (market SELL, all limit orders)
Price per share (0.01–0.99). Required for limit orders. Must match tick size.
Order placed successfully
Unique order identifier
Trading venue ('polymarket' or 'predict')
Composite identifier (e.g., 'polymarket:tokenId' or 'predict:marketId:tokenId')
Outcome token ID
Order side: buy or sell
The outcome being traded (e.g., Yes, No)
Number of shares (when size was provided in request)
Execution or limit price
Order status: pending, filled, or canceled
ISO 8601 timestamp
Shares matched by CLOB (filled market orders)
Original order size in shares
Fee metadata (when fees are active)