Skip to main content

quote_ack — server → client

A successful ingress ack means the quote was received and routed to an active RFQ session. It does not guarantee final selection or settlement.
{
  "type": "quote_ack",
  "request_id": "550e8400-e29b-41d4-a716-446655440000",
  "quote_id": "8a80c47c-0f2d-47ec-83d4-598b3b6bde10",
  "quote_fingerprint": "9d1e4c4c7e3e2c6f67d2f9a4d0c2c0d0c4f9e7d7f8a8b2c3d4e5f60718293a4b",
  "accepted": true,
  "error": null
}
type
string
Always "quote_ack".
request_id
uuid
RFQ UUID the quote referenced.
quote_id
uuid
Server-generated quote UUID when accepted is true; the nil UUID when accepted is false.
quote_fingerprint
string | null
Hex SHA-256 of the decoded 97-byte QuoteResponse payload. Use it to correlate an ack with the exact quote bytes you sent. It is null when the server cannot decode or parse a QuoteResponse.
accepted
boolean
true if the quote was received and routed.
error
string | null
Rejection reason when accepted is false.

Common Rejection Reasons

  • Invalid base64 encoding or wrong decoded quote size
  • Invalid signature for the authenticated market-maker wallet
  • Duplicate quote, invalid odds, zero max fill, or max fill above the RFQ amount
  • Market maker is unknown, disabled, offline, or not eligible
  • RFQ not found or no longer accepting quotes

quote_result — server → client

Emitted after durable RFQ completion for each acknowledged quote.
{
  "type": "quote_result",
  "request_id": "550e8400-e29b-41d4-a716-446655440000",
  "quote_id": "8a80c47c-0f2d-47ec-83d4-598b3b6bde10",
  "status": "filled",
  "position_id": "5ec7f4a7-e24a-4cbb-942a-07ab04f64f6d",
  "fill_amount": "1000000",
  "fill_odds": 25000,
  "filled_at_ms": 1712345678901,
  "reason": null
}
{
  "type": "quote_result",
  "request_id": "550e8400-e29b-41d4-a716-446655440000",
  "quote_id": "8a80c47c-0f2d-47ec-83d4-598b3b6bde10",
  "status": "not_filled",
  "position_id": null,
  "fill_amount": null,
  "fill_odds": null,
  "filled_at_ms": null,
  "reason": "not_selected"
}
type
string
Always "quote_result".
request_id
uuid
Originating RFQ UUID.
quote_id
uuid
Quote UUID returned earlier in quote_ack.
status
string
filled, not_filled, rejected, or selected_failed.
position_id
uuid | null
Position created for a filled quote, otherwise null.
fill_amount
string | null
Fill amount in USDC micros for a filled quote, serialized as a decimal string; otherwise null.
fill_odds
uint32 | null
Odds at which the fill occurred, in basis points; otherwise null.
filled_at_ms
uint64 | null
Fill timestamp in Unix milliseconds; otherwise null.
reason
string | null
Terminal reason for non-filled results, for example not_selected, replaced, rfq_timed_out, rfq_cancelled, rfq_not_completed, or the rejection reason. Null for filled quotes.