Skip to main content
BETA — SUBJECT TO CHANGE. This API is in beta and may change without notice.
CreateVendorOrder embeds the public polymarket.v1.InsertOrderRequest. The supported order shape for partner entry is intentionally narrow: limit orders with fill-or-kill (FOK) time in force and either a share quantity or a cash quantity such as “spend $20.” The service validates populated fields against a fail-closed allowlist. Any field marked Rejected if set below causes INVALID_ARGUMENT, with the offending field named in the error. This prevents newly added public-order features from becoming available to partner callers unintentionally.

Supported fields

In proto3, scalar fields at their default value are not populated on the wire. “Rejected if set” means do not send a non-default value for that field. Construct the supported request directly rather than reusing a broad public-order object.

Fixed-point values

price, order_qty, and cash_order_qty are integers on the public exchange message. Convert user-facing decimals with the scales published for the instrument:
For example, when both scales are 2, a 0.45limitpriceisprice=45,100sharesisorderqty=10000,andspend0.45 limit price is `price = 45`, 100 shares is `order_qty = 10000`, and “spend 20” is cash_order_qty = 2000.

Customer identity

order.account is the only customer identifier accepted by CreateVendorOrder. Persist the DCM account delivered when KYC is approved and use it consistently for:
  • order.account on partner order placement
  • participant_account_id on transfers
  • the account field on Drop Copy and reconciliation records
Do not set order.user or order.session_id. The service authenticates your firm, verifies that order.account belongs to an enabled participant relationship, and derives the submitting participant.

MoneyAmount

MoneyAmount is used for the top-level vendor_fee; it is not used for the fixed-point fields in the embedded public order.

Next step

CreateVendorOrder

See complete FOK share-order and “spend $20” cash-order examples.