Clob Order
Authorizations
Issue from /v1/keys (or admin-issued for enterprise tier).
Headers
Your PolySimulator API key
Polymarket-CLOB-compat alias for X-API-Key (underscore form). SDK clients ported from Polymarket can authenticate without changing header names. X-API-Key takes precedence when both are provided.
PM-CLOB-compat dashed-form alias for X-API-Key. Same value semantics as POLY_API_KEY but with HTTP-conventional dash separators. Both spellings are accepted end-to-end.
PM-CLOB-compat: Authorization: Bearer ps_live_... (or ps_test_...) is accepted as an alias for X-API-Key so py-clob-client and other ported SDKs authenticate without header name changes. Bearer JWTs are NOT accepted here — use the dashboard-auth endpoints for those.
Body
CLOB-compatible order request using token_id instead of condition_id.
Mirrors the real Polymarket CLOB API POST /order schema so a bot written for Polymarket's order fields can be tested here. Orders are only simulated; PolySimulator never forwards them to Polymarket.
CLOB token ID
BUY, SELL Limit price as decimal string (0.01-1.00)
Number of shares as decimal string
GTC, FOK, IOC, GTD Fee rate in basis points (ignored in virtual mode)
x >= 0Optional nonce (ignored in virtual mode)
Optional taker address (ignored in virtual mode)
256Unix-seconds expiration for order_type=GTD (PM convention). Honored while ORDER_SEMANTICS_PM_V2_ENABLED is rolling out; otherwise advisory (GTD routes through GTC).
PM's postOnly: reject (don't execute) when marketable at placement; GTC/GTD only. Rolling out behind ORDER_SEMANTICS_PM_V2_ENABLED; advisory until then.
Bot / strategy identifier (MetaTrader 5 style magic number), 0..9223372036854775807. Not unique: every order a bot places can share it, so the bot can later filter GET /v1/orders, export trades and cancel-all with ?magic= without touching other bots on the same account. Omitted: the API key's default_magic applies, if configured.
0 <= x <= 9223372036854776000Optional human-readable bot name shown next to the magic number (max 32 printable characters, trimmed; blank means none), e.g. 'arb-v1'. Omitted: the API key's default_magic_label applies, if configured.
32Response
Successful Response