Market maker
Bid on a Cashout Auction
Bid one all-in price on a user’s early cashout auction.
PUT
Submit or replace your bid on an early cashout auction. Auctions arrive on the
MM stream you already subscribe to as a
The body is strict — an unknown field is a
cashout_request event, and are
broadcast to every market maker — including positions you do not back.
Bid one all-in price_micro: the micro-USDC the user receives. There is no direction field and
no fee term. The highest live bid wins and ties go to the earliest bid. To pass, submit nothing —
there is no decline endpoint.
Re-submitting replaces your own bid atomically, but it also re-times it: your replacement is a
new submission, so re-sending the same price puts you behind any bid that has since matched it. Do
not re-PUT an unchanged price just to refresh the TTL — you would hand away a tie you were
winning.
The auction lives about 10 seconds. A win closes the position if you back it (a closing exit
carries the profit fee on your side) or acquires it if you do not (no fee applies). For the payload
and auction mechanics, see Early cashout.
Authentication
API key required, with themm:quote scope. Pass it in the X-API-Key header.
Path parameters
string
required
The cashout request ID (UUID) —
cashout_request_id on the push.Request body
integer
required
The all-in amount the user receives, in micro-USDC (
1_000_000 = $1.00). Integer, minimum
1. May be below the user’s stake — a losing parlay exits for less than it cost.Two ceilings apply, and both compare against micro-USDC. user_stake and total_payout arrive
as decimal USDC on the push, so scale them by 1e6 first.Every bid must satisfy price_micro <= round(total_payout * 1e6) (price_above_max_payout). If
you are the position’s current counterparty, a tighter fee-aware ceiling binds
(price_above_buyback_bound), derived from total_payout - user_stake rather than from the
mm_risk field — the two drift by up to 0.0001 USDC, so use the subtraction:integer
default:"15000"
How long your bid stays live, in milliseconds. Range 5000-60000. A bid may outlive the auction;
one that lapses mid-auction stops being the best bid. Nothing tells you when it lapses, so age
bids out locally.
400.
Withdrawing a bid
DELETE /v1/mm/cashout-requests/{id}/quote pulls your live bid. It is idempotent: 204 No Content
when a bid was removed, 200 OK with {"status": "already_withdrawn"} when yours had already
lapsed (not an error), 409 once the auction is no longer active, 404 if the auction is unknown.
There is no partial withdraw — re-PUT to change a price.
Response
Returns201 Created for your first bid on an auction, or 200 OK when replacing your own.
object

