Build Order
Build an order without placing it. Returns the order’s typed-data payload (for the wallet to sign) plus a built_order_id to pass to submitOrderHosted once it’s signed.
Use this when you want a human to approve each trade before it submits — for example, surfacing the order details in a wallet popup. For everything else, use createOrderHosted, which builds + signs + submits in one call.
NotSupported in hosted mode — for those, run a local PMXT service.Authorizations
Required when calling the hosted API directly (curl, requests, fetch). SDK users pass credentials via constructor params instead.
Body
Hosted build-order request. Identify the target outcome by passing venue + venue_outcome_id from client.fetch_markets() (the SDK does this automatically when you pass outcome= to create_order or build_order).
Direction of the order. buy opens or adds to a long position on the outcome; sell closes or reduces it.
buy, sell Order size. For market buys, in USDC dollars (the budget you want to spend). For market sells and all limit orders, in outcome shares.
x >= 0EVM wallet address that will sign the resulting typed data. Must match the wallet whose USDC funded the PMXT PreFundedEscrow on Polygon.
Venue the outcome trades on. Inferred automatically from your client class in the SDKs.
polymarket, opinion The outcome's identifier (e.g. Polymarket tokenId, Opinion outcome hash). Returned by client.fetch_markets().
market fills immediately at the best available price (subject to slippage_pct); limit rests on the venue's order book at price until matched or cancelled.
market, limit Unit amount is denominated in. shares = outcome shares; usdc = USDC dollars. Market buys require usdc; market sells and limit orders require shares (the server validates this combination).
shares, usdc Required for limit orders. Probability in [0, 1] -- e.g. 0.55 means buying / selling shares at 55 cents each. Ignored for market orders.
0 <= x <= 1Maximum acceptable slippage as a percent. Use aggressive defaults (30 for buys, 99.9 for sells) until the upstream economic validator tightens -- lower values frequently trip precision checks. Ignored for market orders, which pin worst-price to the domain extreme; the server defaults to 20 when omitted.
0 <= x <= 100Response
Built order with typed data to sign.
Hosted build-order response. The caller must sign typed_data locally (and pull_typed_data if present) and POST the signatures back via submitOrderHosted before the order expires.
Opaque server-side key used by submitOrderHosted to look up the build context.
Echo of the order side from the request.
buy, sell EIP-712 typed-data payload to sign locally with the wallet key matching user_address. Return the signature in SubmitOrderHostedRequest.signature.
Pre-trade quote: expected average fill price, slippage, and fees.
Optional secondary EIP-712 payload for venues that require a separate pull-authorization (notably Polymarket neg-risk markets and sell orders). Sign with the same wallet and return in SubmitOrderHostedRequest.pull_signature. null when not required.
Venue-side fields resolved from the supplied outcome — token ids, contract addresses, etc. Useful when you want to cross-reference the order against the venue's own API. null if resolution failed.

