Trading via RFQ
Last updated
Last updated
Variational is a request-for-quote (RFQ) protocol, and does not utilize orderbooks on either the protocol or app levels of the stack.
At a high level, an RFQ system has takers requesting quotes and makers responding to them with bids and/or offers. The generic RFQ flow (at the protocol level) is as follows:
The taker creates an RFQ by selecting the structure they would like to trade. For example, a future on ETH with a settlement date of 2026-01-01. The taker can either broadcast the RFQ globally (to all makers) or to a select whitelist of makers.
Eligible makers can respond with quotes. Each quote includes terms, which consist of:
The price at which the trade would be executed. The maker can either quote dual-sided (with a bid and offer), or single-sided (either a bid or offer).
The settlement pool in which the trade would be booked. This would be either an existing pool between the two parties (if one exists), or a new pool that would be created concurrently with the trade. Regardless of whether the trade will use an existing or new pool, margin requirements, liquidation penalties, and other pool parameters are proposed here before the quote is accepted.
If the terms are acceptable, the taker can choose a quote to accept. At this stage, the taker has to approve the smart contract calls to move collateral into the pool. However, no funds will actually be moved until the maker last look stage.
The maker has a last look, which is a final confirmation of the trade and all terms. If the maker gives the final "OK" by approving the smart contract calls, the pending trade will enter the clearing process. If a new settlement pool needs to be created, it will happen at this stage. At this point, collateral is moved from both parties into the pool, the trade is booked, and the new position will be reflected in the pool's ledger.
Omni operates on top of the Variational protocol, using a simplified RFQ flow between users and OLP. The RFQ flow on Omni is as follows:
The taker (user) creates an RFQ by filling out the Order Entry Form on the Omni frontend. For example, a buy order of 1 ETH at 50x leverage.
The , as the only eligible maker on Omni, responds with a quote. This quote consists exclusively of a price (bid or ask, depending on the user's intended direction), as all other parameters of the trade (settlement pool, margin requirements, liquidation penalties, etc.) are pre-set on Omni.
If the quoted price is acceptable to the taker, they can accept the quote to begin the order execution process.
On Omni, the "slippage limit" designates the largest quoted price move against you that you will still accept, else the order will be rejected. On highly volatile assets, quoted prices can change quickly, occasionally requiring users to set higher slippage to execute trades quickly.
Since there is no auction process between different makers competing for orders on Omni, is important for maintaining tight and competitive spreads.
OLP has a last look before the trade is booked and cleared. At this point, OLP will check the user's trade against its and ensure it can safely finalize the trade. Once OLP's last look has passed, collateral is moved from the into the user's settlement pool, and the trade is booked and cleared.
While this process contains many steps, the entire flow (starting once the user has filled out the order entry form) is completed in seconds. From a user perspective, they simply enter their desired position in the Order Entry Form, see the price they are offered by OLP, and choose to accept the quote (open the trade) or not.