Skip to main content
POST
Commit the best available quote on an active quote request. The server revalidates all markets, selects the best quote that meets your min_payout_odds_seen threshold, and creates the trade atomically. The request body includes fields that tie the commit to exactly what you last saw, preventing stale-price execution. After a successful commit, the selected market maker receives a quote:accepted event and must confirm the trade before the confirmation_deadline. It may also receive mm_quote:accepted on its private mm:quotes:{mm_id} channel, with the final quote economics and exact exposure legs for immediate local risk reservation. From there, the vault settlement flow takes over.

Authentication

API key required. Pass your API key in the X-API-Key header. The key needs the trading:write scope.
A Privy JWT (Authorization: Bearer <jwt>) is also accepted — see Authentication.

Path parameters

string
required
The quote request ID (UUID).

Request body

integer
required
The quote request version you are committing against. The commit is rejected if the version has changed since you last received it, indicating the request was modified.
string
required
The id of the best quote you saw at commit time.
integer
required
The book_seq value from the SSE event that delivered the displayed quote. Proves your data was up to date.
number
required
The minimum payout odds you were shown. Only quotes at or above this threshold are eligible. Must be at least 1.0001.

Response

object

Rejection reasons

When a commit is rejected with 409 Conflict, the error.details.reason field explains why:

Errors