On-chain Request-for-Quote (RFQ)
Tl;dr
We get a lot of questions about how Bebop works and what RFQ on-chain really means.
Introduction to Bebop RFQ
Bebop is a trading platform that utilizes private market makers and a RFQ on-chain model to deliver more efficient trading in DeFi. Many of the key differentiators in how Bebop operates stem from the fact that we use this RFQ on-chain model. RFQ is not unique to crypto. In fact, RFQ is quite prominent in traditional financial markets.
RFQ is a type of trading that is quote-driven — the acronym representing “Request for Quote”. With RFQ, a buyer or seller requests quotes from one or multiple sources in order to find the best price for a specific product or service. The buyer or seller may then choose to purchase the asset from the maker that offers the best price. This can be an OTC transaction, in which the buyer or seller will interact with the market maker directly, or conducted in a formal exchange that handles the RFQ process for both parties.
With the development of blockchain technology, RFQs can be conducted directly on a blockchain. This allows for the submission of RFQ orders and the matching of these orders on-chain, rather than on a centralized venue or exchange. This is what Bebop does.
AMM DEXes vs RFQ on-chain
You may be wondering how this is different from trading on a traditional DEX. Most decentralized exchanges source liquidity from automated market makers (AMMs) with liquidity pools that anyone can contribute to. Bebop does not offer this at this time.
We’ve taken a stab at outlining the differences between a traditional AMM model and RFQ on-chain below:

Benefits of RFQ on-chain
At Bebop, we provide all of the benefits of DEXes — we’re permissionless, transparent, trustless — but there is more. Bebop is a decentralized platform that sources liquidity from private market makers. So, in a way, you could call us a liquidity aggregator.
So what does this mean? What are the benefits? We can sum up the three largest benefits of trading RFQ on-chain as follows:
No unpredictable slippage (aka guaranteed prices): On decentralized exchanges with slippage, you will see “Price Impact” or “Slippage” quoted in the interface — this is a prediction for how your order (and others) will impact the asset’s price and thus how your trade may be impacted as it is initiated. With RFQ on-chain, your trade is executed at the price quoted and it does not change once the transaction is initiated. Learn more about this here.
Gas included in the quote: On a traditional DEX, gas will typically not be included in the trade you are initiating. This means that when you submit the order, you will need to have the native blockchain token (such as ETH or MATIC) to pay for the transaction being placed. This isn’t free on Bebop, but your gas is included in the quote in the token that you are paying. The only need you will have for a native token is for translation approvals. Learn more about this here.
MEV protection: Because transactions on-chain are public, and validators have a holistic view of the transactions, trades are often subject to attacks by Miner Extractable Value (MEV) bots. We will release a separate blog post on this soon.
How RFQ on-chain works
Below, we’ve also created a visual for how the RFQ on-chain model operates with multiple private liquidity providers (also known as market makers).
Step 1: Quote request
First, the user would initiate a trade by requesting a quote on Bebop. This is done simply by the user adding the amount of each token that they wish to trade in the “You Pay” side of the trading screen.

Step 2: Market maker quotes
On Bebop, the quote for this trade will come directly from the market maker(s) providing liquidity on the platform. These private market maker(s) are constantly streaming their pricing to Bebop and the best pricing for this trade will be displayed to the user in the “You Receive” side of the trading component.
Because this is an on-chain transaction, the quoted price will already include the cost of gas (network fees) for the transaction.

Step 3: Accepted quote
The user will then either accept or reject this quote. If the user accepts the quote, they will sign a message in their wallet to confirm the trade.
The user may of course also decline the quote on Bebop, after which they would likely either end the trade here or wait for a more optimal offer.

Step 4: Settlement contract
Bebop sends the transaction on-chain and the smart contract settles the trade without Bebop EVER taking custody of the user’s funds.
This part is important to understand because it explains that we do not hold custody of any user funds. Period. Our smart contract simply allows for the trade to occur, at the agreed-upon price, between the user and the liquidity provider.

Last updated