---
title: "Submit Quote"
method: POST
path: "/v1/mm/quotes"
tags: ["Market Maker"]
---

# Submit Quote

`POST /v1/mm/quotes`

Submit or update a draft quote for an open quote request. Only the latest quote per maker per request is kept — re-POST to update. Returns a server-generated `quoteId` (stable across updates) used to confirm if you win.

## Request body

- SubmitQuoteInput
  - `requestId` string, required — The requestId from the quote_request event you are quoting.
  - `quote` QuoteSubmission, required
    - `maker` string, required — Your own wallet address. Becomes Order.maker; your signature must recover to it.
    - `side` 'buy' | 'sell', required — Must match the taker's requested side.
    - `price` number, required — Price per ONE option, in (0, 1). Must be <= max payoff (1 - K for calls, K for puts).
    - `size` number, required — On a buy: the max whole options you'll write at this price (>= 1); the actual fill is min(floor(budgetUsd / price), size). On a sell: the contracts you'll take (>= 50% of the requested size).
    - `expires_in_ms` number

## Response `200`

Quote accepted

- SubmitQuoteResponse
  - `success` true
  - `quoteId` string — Server-generated quote ID, stable across updates.

## Other responses

- `400` — Error
- `401` — Error
- `404` — Error
- `409` — Error

---

[API](https://skmtc.dev/convallax/apis/convallax-rfq-api.md) · [All operations](https://skmtc.dev/convallax/apis/convallax-rfq-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/convallax/convallax-rfq-api/revisions/c8cb11b778c1/schema)
