On-chain Market Microstructure: Best, Exclusive RFQ & FOK
On-chain trading has moved from simple swaps to structured order flow. Terms like Best RFQ, Exclusive RFQ, and Fill-or-Kill shape how liquidity competes and...
In this article

On-chain trading has moved from simple swaps to structured order flow. Terms like Best RFQ, Exclusive RFQ, and Fill-or-Kill shape how liquidity competes and how orders fill. Clear rules reduce slippage and help traders control price, size, and information flow.
RFQ on-chain in plain terms
RFQ means Request for Quote. A taker posts a size and an asset pair. One or more market makers respond with a price. The taker accepts the best quote, and the trade settles on-chain. Smart contracts hold the rules and enforce deadlines and settlement.
Picture a trader seeking 500 ETH for USDC within 20 seconds. The RFQ broadcasts that need. Makers sign quotes off-chain, then the smart contract checks the winner and settles with atomic transfer. The chain records the result, not the back-and-forth.
Best RFQ
Best RFQ invites open competition among a set of makers. The taker sets the pair, size, expiry, and limits. Makers race to quote a tight price. The taker or a smart router picks the best executable quote before expiry and submits it to the contract.
This model shines when you want price discovery and fair access. It can compress spreads because several makers chase the fill. It can also reduce information leakage because only selected makers see the RFQ, yet more than one competes.
Exclusive RFQ
Exclusive RFQ sends the request to a single maker. The taker trades speed and privacy for potential price. With one counterparty, the flow stays quiet, and response time is short. The maker may show size that they would not risk in open competition.
Use this path when you value discretion, when you need a block fill, or when you have a relationship with a maker who can warehouse risk. The price may be a touch wider than a multi-maker race, but the fill odds can be higher on large clips.
FOK (Fill-or-Kill)
FOK means the order must fill in full at the stated terms, or it cancels. There is no partial. On-chain, the contract checks size and price at execution. If the quote cannot meet both, it reverts. No funds move, and gas cost is often minimal if the system uses meta-transactions.
FOK gives clear control. It stops partial fills that expose you to price risk on the remainder. It pairs well with RFQ since makers can commit firm size for a short window.
How Best RFQ, Exclusive RFQ, and FOK fit together
These tools are building blocks. You can mix them. You can run Best RFQ with FOK to force a full fill from the top quote. You can run Exclusive RFQ with FOK to hit a private firm price for the entire amount. You can drop FOK if you accept partials for speed.
Micro-example: A fund needs 25,000 SOL now. They push a Best RFQ with FOK and a 10-second expiry. Three makers quote. One can fill all 25,000 at the best price. The contract fills in one shot and records the trade.
Core differences at a glance
The table below summarizes the intent, competition, information profile, and fill control for each method. Use it to map your need to the right setting.
| Feature | Best RFQ | Exclusive RFQ | FOK (modifier) |
|---|---|---|---|
| Counterparties | Multiple makers compete | Single maker | Applies to either RFQ mode |
| Price discovery | High, tight spreads | Moderate, depends on relationship | None; enforces full-fill condition |
| Information leakage | Low to medium (selected set sees it) | Low (one party sees it) | N/A |
| Fill probability | High for standard size | High for blocks with the right maker | Lower than partial; zero if size cannot fill |
| Speed | Fast, but waits for competition window | Very fast | Fast; cancels if not full |
| Best use case | Tight pricing on liquid pairs | Discreet blocks or urgent trades | Strict size control and risk limits |
Use this grid as a starting point, then adjust for asset liquidity, time of day, and your slippage budget. The right choice can change during a volatile session.
Execution flow: from RFQ to settlement
The path from intent to fill follows a clear sequence. These steps apply on EVM chains and other VM designs with minor changes in signing and settlement calls.
- The taker defines pair, side, size, price cap or floor, and expiry.
- The taker selects Best RFQ or Exclusive RFQ and decides on FOK.
- The system sends the RFQ to the maker set (one or many).
- Makers compute risk and return signed quotes with size and price.
- The router picks the best eligible quote under the rules.
- The taker submits the quote to the contract for atomic settlement.
- The contract verifies signatures, balances, and deadlines, then transfers.
Each step leaves a trail: off-chain for quotes, on-chain for the final trade. This split keeps latency low while keeping settlement trustless.
Practical benefits
Traders and protocols adopt these tools for clear, measurable gains. The points below focus on outcomes you can test.
- Tighter spreads versus single-venue swaps on liquid pairs.
- Lower slippage on blocks due to firm quotes and atomic fills.
- Predictable costs with FOK and short expiries in volatile markets.
- Reduced MEV risk when orders settle in one atomic call.
Track these metrics over a month. Compare your average price improvement and failed fill rate against a baseline AMM swap path.
Microstructure details that move price
Quote window length matters. A 3–5 second window invites more makers but risks price drift. A 1–2 second window favors speed and stale-quote risk for makers, which can widen spreads. Find the shortest window that still gets two or more quotes.
Maker whitelists shape competition. A small, vetted set reduces spam and reverts. A broader set improves price discovery but can leak intent. Many desks create two sets: a broad set for standard size and a tight set for blocks.
On-chain settlement path affects exposure. Private mempools or bundles can cut pre-trade signaling and front-run risk. If your stack supports it, send the settlement call via a protected route.
FOK vs partial fills: choosing the right control
FOK locks size and price. It avoids half fills that leave you with inventory risk. Partial fills can work if your strategy can slice size and refill quickly.
Micro-example: A DAO needs to rebalance 2,000,000 USDC to BTC. They run four slices of 500,000 with Best RFQ and no FOK during a calm window. Three fill, one misses. The router retries the last slice as Exclusive RFQ with FOK and completes the rebalance at a firm price.
Risk checks and guardrails
Set a price cap or floor relative to a reference oracle or a moving mid. Quotes must beat that guardrail to qualify. This limits fat-finger fills and stale quotes during spikes.
Enforce quote validity in seconds, not minutes. Include nonces and maker IDs in the signed payload to prevent replay. Require adequate maker balances or credit lines before the system accepts a quote.
When to choose each method
Your choice should reflect size, liquidity, and urgency. Use the quick rules below to match the tool to the job.
- Pick Best RFQ for liquid pairs up to mid-sized clips where competition cuts spreads.
- Pick Exclusive RFQ for large blocks or when privacy and speed outrank a minor price edge.
- Add FOK when partial fills add risk or when you face fixed deliverables.
Test these rules on recent trades. Compare net outcomes, not just headline price, and include failed attempts and latency costs.
Final notes on setup and measurement
Good results depend on clean integrations. Use a router that can query multiple makers, respect expiries, and submit protected transactions. Monitor quote-to-fill ratio, average spread improvement, reject reasons, and time-to-fill. Publish a short weekly report to keep settings honest and improve your maker set.
Best RFQ, Exclusive RFQ, and FOK are simple levers. Pull the right one for the market in front of you, measure the outcome, and adjust with data.


