| Role | What you do | Typical use |
|---|---|---|
| Taker | Submit trade requests, collect signed maker quotes, choose the best executable quote, and settle onchain | Trading bots, execution desks, vaults, wallets, and apps embedding TrueCurrent |
| Maker | Connect to MakerStream, receive RFQ requests, price each request, sign quotes, and manage inventory | Professional liquidity providers and market-making systems |
The core model
The RFQ system is an offchain quoting network with onchain settlement. As a maker, your hot path is only: connect, receive, sign, send. You do not submit an onchain transaction for every trade. The taker submitsAcceptQuote, and the contract enforces your signed quote cryptographically.
As a taker, your hot path is: request, collect, select, settle. The indexer helps you discover quotes, but the settlement transaction is still checked onchain.
Standard trade lifecycle
- The taker submits an RFQ request through TakerStream with market, direction, margin, quantity,
worst_price, and a UUIDclient_id. - The indexer acknowledges the request and assigns the real
rfq_id. - The indexer broadcasts the request to connected, whitelisted makers through MakerStream.
- Makers price the request, sign an EIP-712 v2
SignQuotedigest, and return quotes withsign_mode: "v2"andevm_chain_id. - The taker collects quotes, chooses one or more executable quotes, and submits
AcceptQuote. - The RFQ contract verifies signatures, quote expiry, maker whitelist status, taker
worst_price, quote bands, available margin, and fill constraints. - The contract opens both sides atomically through Injective’s exchange module.
Two settlement paths
| Path | Who submits the tx | When it is used | Read next |
|---|---|---|---|
AcceptQuote | Taker | Normal synchronous RFQ trades while the taker is online | Taker SDK trading, Maker SDK trading |
AcceptSignedIntent | Executor | TP/SL exits where the taker pre-signs a conditional order | Signed intents |
AcceptQuote, or a pre-signed taker intent submitted by the executor for AcceptSignedIntent. Makers still receive ordinary RFQ requests and sign ordinary quotes.
What the SDK abstracts
For takers, the reference client covers:- TakerStream connection and gRPC-web framing
- RFQ request creation and ACK handling
- ACK-returned
rfq_idcorrelation - Quote collection and filtering
AcceptQuoteconstruction and broadcast- Signed-intent creation and cancellation helpers
- MakerStream connection and ping cadence
- Maker auth challenge response
- RFQ request decoding
- EIP-712 v2 quote signing helpers
- Required wire fields such as
sign_modeandevm_chain_id - Quote submission, quote ACKs, and settlement updates
Integration order
Taker path
Build request, quote collection, settlement, and TP/SL intent flows.
Maker path
Build whitelist setup, MakerStream auth, quote signing, inventory, and settlement monitoring.
Authz setup
Grant the RFQ contract the narrow settlement permissions required by each role.
Run testnet E2E
Validate config, balances, grants, MakerStream auth,
AcceptQuote, and signed intents.
