Skip to main content
POST
/
orders
Place Multiple Orders (Batching)
curl --request POST \
  --url https://poly.drive.markets/orders \
  --header 'Content-Type: application/json' \
  --header 'POLY-API-KEY: <poly-api-key>' \
  --header 'POLY-NONCE: <poly-nonce>' \
  --header 'POLY-SIGNATURE: <poly-signature>' \
  --header 'POLY-TIMESTAMP: <poly-timestamp>' \
  --data '[
  {
    "order": {
      "salt": 123,
      "maker": "<string>",
      "signer": "<string>",
      "taker": "<string>",
      "tokenId": "<string>",
      "makerAmount": "<string>",
      "takerAmount": "<string>",
      "expiration": "<string>",
      "nonce": "<string>",
      "feeRateBps": "<string>",
      "side": "BUY",
      "signatureType": 123,
      "signature": "<string>"
    },
    "orderType": "FOK",
    "owner": "<string>"
  }
]'
{
  "success": true,
  "errorMsg": "<string>",
  "orderId": "<string>",
  "orderHashes": [
    "<string>"
  ],
  "status": "matched"
}
Polymarket Docs

Headers

POLY-API-KEY
string
required

API key of the user

POLY-SIGNATURE
string
required

Request signature

POLY-TIMESTAMP
string
required

Timestamp of the request

POLY-NONCE
string
required

Request nonce

Body

application/json · object[]
order
object
required
orderType
enum<string>
required
Available options:
FOK,
GTC,
GTD,
FAK
owner
string
required

API key of order owner

Response

Batch order placement response

success
boolean

Boolean indicating if server-side error (success = false)

errorMsg
string

Error message in case of unsuccessful placement

orderId
string

ID of order

orderHashes
string[]

Hash of settlement transaction order was marketable and triggered a match

status
enum<string>

Status of the order placement

Available options:
matched,
live,
delayed,
unmatched