Skip to content

RFQ Quote Service

The quote service is an off-chain discovery and validation layer for on-chain QuoteMarket.Quote signatures. It is not a custodial exchange and cannot move maker or taker funds by itself.

Auction Flow

  1. A borrower posts poolId, an exact seriesKey or target expiry, and a maximum notional to POST /api/v1/rfq/quote (or the streaming endpoint).
  2. The service broadcasts the RFQ to authenticated backers over /ws/rfq.
  3. Each backer may return one signed quote. Quotes cannot exceed the requested notional or optional maximum VRT amount.
  4. The service checks the pool/series, expiry, deadline, nonce, signature, and cancellation/fill state. Balance, allowance, and capacity are rechecked before execution.
  5. The auction closes after 15 seconds and returns the collected quotes. The streaming endpoint emits each quote as it arrives.
  6. The borrower independently chooses and submits one executable quote on-chain.

RFQ history is useful for discovery, but a quote is actionable only while it remains executable. The web app filters acceptance ladders and yield-curve points accordingly.

Main Endpoints

EndpointPurpose
GET /api/v1/configChain and deployed contract configuration
POST /api/v1/quotesValidate and store a signed quote
GET /api/v1/quotesList stored active quotes with filters
GET /api/v1/quotes/:hashRead one quote
POST /api/v1/rfq/quoteRun an RFQ and return its final result
POST /api/v1/rfq/quote/streamStream started, quote, and done SSE events
GET /api/v1/rfq/quotes/recentRecent RFQ observations
GET /api/v1/pools/ratesDiscovered pools, active series, and RFQ depth
GET /api/v1/rates/currentCurrent underlying lending rates
GET /api/v1/positions/allDiscover supported positions for an address
GET /api/v1/healthDatabase, sync, backer, and auction health

Quote cancellation is on-chain. DELETE /quotes/:hash returns 405; use QuoteMarket.cancelQuote or advance the maker nonce with raiseNonce.

Quote Executability

Submission-time validation is not a permanent guarantee. Before displaying an accept action or sending a transaction, clients should re-check:

  • the deadline and a safe submission window;
  • the maker's current nonce and quote cancellation/fill state;
  • maker loan-token balance and QuoteMarket allowance;
  • exact requested notional and series;
  • previewTakeQuote signature, capacity, and borrower cost; and
  • borrower allowance and QuoteMarket operator permission.

Interest Exchange Protocol