CRXDocs
Get StartedLearnBuildCurateTools
  • NDF
  • NDO
  • Margin (VM)
  • Collateral & CSA
  • Oracle
  • Rate Sources
  • Liquidation
  • Calendar
  • Relayer
  • Seed Fund

RFQ Relayer

What does the relayer do?

It brokers the request for quote. A taker asks for a price; the relayer broadcasts the request to makers, collects their firm signed quotes, and returns the best one. When both sides agree, it anchors the quote on-chain and hands back a bundle the parties bind.

CRX never takes custody and never prices the trade itself. The relayer is a matchmaker and a courier — the binding happens between the two firms, on-chain.

What is the request-for-quote flow?

  1. The taker submits an RFQ — pair, tenor, notional, direction.
  2. The relayer broadcasts it to makers; each maker's inbox shows it for a short window.
  3. Makers answer with firm, signed quotes, each valid briefly.
  4. The taker is shown the best quote and confirms, or lets it expire.
  5. The relayer anchors the agreed quote on-chain and returns a bundle.
  6. Both parties sign the Terms; the position binds.

A diagram of the same sequence:

POST /rfq · both parties named · session-authroute to named counterparty (both parties named)signed Quote (EIP-712) · restates both partiesthe named counterparty signs a QuoteBindBundle (the Quote)bind(terms, 2 sigs)verify sigs + whitelist · pull IMPosition OPENTakerRelayerMakerCRXTakerRelayerMakerCRX
The relayer routes a directed RFQ to one named counterparty; the chain is the authority. Only bind is wallet-signed.

What are the endpoints?

The relayer is a plain HTTP API. The core set:

MethodPathPurpose
POST/auth/challenge → /auth/loginget a signed-message challenge, return a token
POST/rfqcreate a request for quote
GET/rfq/inboxa maker polls for open RFQs
POST/rfq/:id/quotea maker answers with a firm price
POST/rfq/:id/confirmconfirm an agreed quote
GET/rfq/:id/bundlefetch the bundle to bind
GET/marginprice the margin for a pair and notional
GET/makers · /takersthe online desks

The trade path takes no login — quoting and binding are authenticated by the two Terms signatures, not a session. The full registry is in Tools → CRX API (~4 min).

Why anchor the quote on-chain before binding?

So the price both sides bind to is the price both sides saw. Anchoring writes the agreed quote where the contract can read it, which is what makes the bundle bindable. A bundle is not ready until that anchor confirms — a client that gives up too early will think no maker answered when one did.

Anchoring takes a few seconds. Allow time for the on-chain confirmation before treating a quote as failed.

Next: Seed Fund (~2 min) — the backstop behind every bound trade.

PreviousLearn · 2 min readCalendarNextLearn · 1 min readSeed Fund
CRX
DocsDeskLaunch app
On-chain FX hedging. Confidential.