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?
The taker submits an RFQ — pair, tenor, notional, direction.
The relayer broadcasts it to makers; each maker's inbox shows it for a short window.
Makers answer with firm, signed quotes, each valid briefly.
The taker is shown the best quote and confirms, or lets it expire.
The relayer anchors the agreed quote on-chain and returns a bundle.
Both parties sign the Terms; the position binds.
A diagram of the same sequence:
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:
Method
Path
Purpose
POST
/auth/challenge → /auth/login
get a signed-message challenge, return a token
POST
/rfq
create a request for quote
GET
/rfq/inbox
a maker polls for open RFQs
POST
/rfq/:id/quote
a maker answers with a firm price
POST
/rfq/:id/confirm
confirm an agreed quote
GET
/rfq/:id/bundle
fetch the bundle to bind
GET
/margin
price the margin for a pair and notional
GET
/makers · /takers
the 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.