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
- A borrower posts
poolId, an exactseriesKeyor targetexpiry, and a maximumnotionaltoPOST /api/v1/rfq/quote(or the streaming endpoint). - The service broadcasts the RFQ to authenticated backers over
/ws/rfq. - Each backer may return one signed quote. Quotes cannot exceed the requested notional or optional maximum VRT amount.
- The service checks the pool/series, expiry, deadline, nonce, signature, and cancellation/fill state. Balance, allowance, and capacity are rechecked before execution.
- The auction closes after 15 seconds and returns the collected quotes. The streaming endpoint emits each quote as it arrives.
- 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
| Endpoint | Purpose |
|---|---|
GET /api/v1/config | Chain and deployed contract configuration |
POST /api/v1/quotes | Validate and store a signed quote |
GET /api/v1/quotes | List stored active quotes with filters |
GET /api/v1/quotes/:hash | Read one quote |
POST /api/v1/rfq/quote | Run an RFQ and return its final result |
POST /api/v1/rfq/quote/stream | Stream started, quote, and done SSE events |
GET /api/v1/rfq/quotes/recent | Recent RFQ observations |
GET /api/v1/pools/rates | Discovered pools, active series, and RFQ depth |
GET /api/v1/rates/current | Current underlying lending rates |
GET /api/v1/positions/all | Discover supported positions for an address |
GET /api/v1/health | Database, 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;
previewTakeQuotesignature, capacity, and borrower cost; and- borrower allowance and QuoteMarket operator permission.
