Market maker
Submit Buyback Quote
Price an early cashout (buyback) request as the position’s counterparty market maker.
PUT
Submit or replace a buyback quote for a cashout request on a position you make the market for. You receive cashout requests on the same MM stream you already subscribe to, as a distinct
cashout_request event (carrying cashout_request_id + position_id) — scoped to you, never broadcast. Quote the directional amount on top of the user’s stake (which is always refunded); the server computes the unit boundary economics and surfaces the net to the user on their stream.
A cashout request is offered to a single market maker — the position’s existing maker. You can only quote requests targeted at you; otherwise the request returns 403. Resubmitting replaces your live quote atomically.
For pricing rules and the refuse gates, see Market making → Pricing early cashouts.
Authentication
API key required. Pass your market maker API key in theX-API-Key header.
Path parameters
The cashout request ID (UUID).
Request body
Your directional buyback
amount in USDC (≥ 0), gross of the profit fee. This is the net on top of the refunded stake — what the MM pays the user (when mm_pays_user is true) or the user pays the MM.true when you pay the user (position is in the user’s favor); false when the user pays you.How long this quote is valid, in milliseconds. Range: 5000 to 60000. Default: 15000.
Response
Returns201 Created for a new quote or 200 OK when replacing an existing quote.
Errors
| Status | Code | Description |
|---|---|---|
| 400 | VALIDATION_ERROR | Invalid body (negative price, out of range expires_in_ms, or failed buyback economics). See details. |
| 401 | UNAUTHORIZED | Missing or invalid API key. |
| 403 | FORBIDDEN | You are not the counterparty MM for this position (details.reason: not_target_mm). |
| 404 | NOT_FOUND | Cashout request not found. |
| 409 | CONFLICT | Request is no longer active, expired, or the position is too close to expiry. See details.reason. |
