KUEST_ADDRESS, KUEST_SIGNATURE, KUEST_TIMESTAMP, KUEST_API_KEY, and KUEST_PASSPHRASE. Review how to obtain them in the Authentication overview or use the managed console at auth.kuest.com.409 with {"error":"system_paused"}. Individually paused books still reply with 409 and {"error":"condition_paused"}. Make sure the owner field matches the KUEST_ADDRESS header; otherwise the API returns 400 and {"error":"owner_address_mismatch"}.status field:
| Status | Meaning |
|---|---|
live | Order accepted and resting on the book. |
error | Order rejected; see errorMsg for details. |
| Field | Type | Required | Description |
|---|---|---|---|
owner | string | Yes | Polygon address that owns the API key. Must match the KUEST_ADDRESS header. |
orderType | string | Yes | Time-in-force policy for the order (FOK, FAK, GTC, GTD). |
postOnly | boolean | No | When true, the order must rest on the book (GTC/GTD only). |
order | object | Yes | Full order payload described below. |
GTD orders you must supply an order.expiration in the future. GTC, FAK, and FOK may omit expiration; the engine simply ignores the value when it is not needed.order object| Field | Type | Required | Description |
|---|---|---|---|
tokenId | string | Yes | Identifier of the token/outcome being traded. |
conditionId | string | Yes | Market condition identifier tied to the token. |
expiration | string | Conditional | Unix timestamp (seconds) when the order becomes invalid. Required for GTD, optional otherwise. |
maker | string | Yes | Address that holds the asset being offered. |
signer | string | Yes | Address that produced the signature authorizing the order. |
taker | string | Yes | Counterparty address. Use the zero address for open orders. |
makerAmount | string | Yes | Quantity provided by the maker, denominated with fixed precision. |
takerAmount | string | Yes | Quantity expected from the taker. Must stay within allowed tick sizes. |
side | string | Yes | Either BUY or SELL. |
metadata | object|null | No | Optional JSON metadata stored with the order. |
nonce | string | Yes | Monotonic value chosen by the maker to guard against reuse. |
feeRateBps | string | Yes | Maker fee rate in basis points. |
salt | string | Yes | Unique entropy for replay protection. Reuse causes duplicate rejection. |
signatureType | number | Yes | 0 = EOA, 1 = proxy signer, 2 = Gnosis Safe signer. |
signature | string | Yes | Hex-encoded signature produced over the order payload. |
feeRateBps must be greater than or equal to the base fee returned by GET /fee-rate for the same tokenId.makerAmount, takerAmount, nonce, feeRateBps, expiration) must be sent as strings to avoid precision issues during parsing. side must be the uppercase string BUY or SELL. owner must match the KUEST_ADDRESS header supplied with the request.| Type | Partial fills? | Rests on the book? | Auto expiration? |
|---|---|---|---|
| FOK (Fill-Or-Kill) | ❌ No | ❌ No | ✅ Immediately if not 100% filled |
| FAK (Fill-And-Kill / IOC) | ✅ Yes | ❌ No | ✅ Any remaining size cancels right away |
| GTC (Good-Til-Cancelled) | ✅ Yes | ✅ Yes, until cancelled | ❌ No |
| GTD (Good-Til-Date) | ✅ Yes | ✅ Yes, until the given timestamp | ✅ At the specified expiration time |
GTD, the engine enforces a one-minute safety buffer. If you need the order to expire in 90 seconds, set expiration = now + 90 + 60.
200 OK with success: true.orderID is the order identifier for tracking. Use GET /data/order/{id} to check final status and filled amounts.DELETE /order.GET /data/order/{id} are:
| Status | Meaning |
|---|---|
open | Order is resting on the book. |
partially_filled | Order remains on the book with some fills. |
filled | Order fully executed. |
cancelled | Order removed. For IOC/FAK, partial fills still return cancelled with non-zero filled amounts. |
Checksummed wallet address performing the request.
API key obtained from the L1 derivation endpoint.
64 character hexadecimal passphrase associated with the API key.
Millisecond epoch timestamp (string) used for freshness checks.
Hex-encoded HMAC-SHA256 signature built from the L2 signing string.
Order placement result
Indicates whether the order was accepted.
Human-readable status for the placement.
Order identifier when accepted.
Taker amount reported by the placement engine (empty when not provided).
Maker amount reported by the placement engine (empty when not provided).
Placement status (e.g. live or error).