Overview
As a builder, you route orders for your end-users using impersonation. Every order endpoint works the same as for regular traders — you just add theX-Builder-Customer-Id header.
Before routing orders, ensure the end-user has been onboarded to the
target exchange. See User Management.
Placing an order
POST /api/v1/orders?exchange={exchange}
Parameters
Exchange identifier:
polymarket or kalshi.Your builder API key.
The end-user’s
customer_id.Exchange-native market ID.
"Yes" or "No" (binary), or outcome name (categorical)."buy" or "sell".Limit price (0.01–0.99 for binary).
Number of contracts.
Optional exchange-specific parameters.
| Key | Values | Description |
|---|---|---|
order_type | gtc (default), ioc, fok | Time-in-force / execution type |
Optional per-request credentials. Skips stored credentials.
Response
Order identifier.
Market the order was placed on.
The outcome being traded.
"buy" or "sell".Order price.
Total order size.
Amount filled so far.
pending, open, filled, partially_filled, cancelled, or rejected.ISO 8601 creation timestamp.
Placing an order with fee escrow
To collect fees on an order, include thefee_auth object signed by the
end-user’s wallet. See Fee Escrow for details.
Listing orders
GET /api/v1/orders?exchange={exchange}
Getting an order
GET /api/v1/orders/:order_id?exchange={exchange}
Cancelling an order
DELETE /api/v1/orders/:order_id?exchange={exchange}
If fee escrow is active on the order, the escrowed fee is automatically refunded
to the payer’s wallet on cancellation.
Other endpoints
All standard Parsec endpoints work with builder impersonation:| Endpoint | Method | Description |
|---|---|---|
/positions | GET | List end-user’s positions |
/balance | GET | Get end-user’s balance |
/fills | GET | Get end-user’s trade history |
/orderbook | GET | Get orderbook (no impersonation needed) |
/markets | GET | List markets (no impersonation needed) |
/ping | GET | Check exchange connectivity |
Read-only market data endpoints (
/markets, /orderbook, /trades, /price,
/events) do not require X-Builder-Customer-Id — they work with just
your builder API key.Order types
| Type | Behavior | Supported |
|---|---|---|
gtc | Good-til-cancelled (default) | All exchanges |
ioc | Immediate-or-cancel | Polymarket, Kalshi |
fok | Fill-or-kill | Polymarket |
params.order_type in the create order request body. Unsupported combinations return 501.