Quote Service
Commit Quote Request
Lock in the best available quote and create a trade.
POST
Commit the best available quote on an active quote request. The server re-validates all markets, selects the best quote that meets your
min_payout_odds_seen threshold, and creates the trade atomically.
The request body includes protection 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. The selected market maker 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
Bearer token required. Pass your JWT in theAuthorization header.
Path Parameters
The quote request ID (UUID).
Request Body
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.The
id of the best quote you saw at commit time.The
book_seq value from the SSE event that delivered the displayed quote. Proves your data was up to date.The minimum payout odds you were shown. Only quotes at or above this threshold are eligible. Must be at least 1.0001.
Response
Rejection Reasons
When a commit is rejected with409 Conflict, the error.details.reason field explains why:
| Reason | Description |
|---|---|
QUOTE_CHANGED | The expected_version does not match. The request was updated since you last fetched it. |
MARKET_NOT_LIVE | One or more markets are no longer available (expired, halted, or delisted). |
QUOTE_EXPIRED | No active quotes exist, or the best quote expired between selection and commit. |
COMMIT_FAILED | The commit could not be completed — for example no eligible market maker had sufficient collateral. Returns 409. |
COMMIT_FAILED_RETRYABLE | Transient error. Retry after a short delay. Returns 503. |
Errors
| Status | Code | Description |
|---|---|---|
| 400 | VALIDATION_ERROR | Missing or invalid commit fields. |
| 401 | UNAUTHORIZED | Missing or invalid JWT. |
| 403 | FORBIDDEN | You do not own this quote request. |
| 404 | NOT_FOUND | Quote request not found. |
| 409 | CONFLICT | Commit rejected. See error.details.reason above. |
| 503 | SERVICE_UNAVAILABLE | Transient failure. Retry after a short delay. |
