# RFQs
RFQs or Request for Quotes exists in tradfi, afaik, every thing that involves liquidity/swapping in tradfi happens in the form of RFQs, they are powerful, efficient and sufficiently decentralized (if structured properly).
## how it works?
there are multiple tasks that require liquidity like swapping tokens, filling positions in lending/borrowing or perp dex. liquidity is required for all these actions and this liquidity is acquired through various methods.
dex on blockchains usually use amm model (liquidity pool with a math function to manage liquidity) or clob model (orderbook), in both of the cases, someone somewhere provides liquidity for the order in return of some reward. lending/borrowing or perp dex works on a more similar model to RFQs where the position is posted on blockchain and many bots constantly check for these open positions to fill, if they think they can make a profit, they fill that position and take on the risk associated with it, though some lending/borrowing platform have different methods of acquiring liquidity like liquidity pools.
## some examples
### dln by debridge
there are makers and takers. makers are selling tokens on source chain and buying on destination chain. takers are doing exact opposite. makers create orders which then takers can fulfill, if the order parameters makes sense for them (fees, profitability etc), once taker fulfills the order on destination chain, a cross chain message is sent between destination and source chains, unlocking liquidity on source chain that was deposited by maker.
mm doesn't need to create an explicit liquidity pool to manage liquidity for dln, they can look at the orders, find which orders to fulfill and then just transfer token (through dln's smart contract).
this method helps dln to support multiple blockchains.
### hashflow
mm creates liquidity pool on hashflow and sets up an websocket server that supports api interface provided by hashflow. this websocket server constantly (ideally every 1s) sends price quotes for the pairs that mm wants to support. this price quotes are based on levels, for eg - if mm wants to support eth/usdc pool, then it sends price quotes like
```jsonld
{
...,
"levels": [
{ "level": "0.5", "price": "1000" },
{ "level": "1", "price": "995" },
{ "level": "5", "price": "990" },
]
}
```
based on this, first 0.5 eth in every trade will get price of 1000 USDC, the next 0.5 will get 995 and next 4 will get price of 990.
websocket server will constantly share this price levels with hashflow server and hashflow will send RFQs to mm's server, if the mm wants to fulfill the order then it can send the signed quote back to hashflow, which then fulfills the order through mm's liquidity pool.
this solution involves mm setup a seperate liquidity pool, particularly for hashflow, compared to the dln solution, this solution feels subpar for the same usecase, because here mm needs to constantly keep sharing levels of pricing and manage a liquidity pool.
## what are the issues?
there are handful of application that supports RFQs today, but we think it should be supported by all of the application that requires some kind of liquidity for any defi activity. RFQs are efficient at managing liquidity and downsides are very less compared to the upside it provides. its fast, efficient and provides user with best rate possible. some downsides include - not anybody can provide that amount of liquidity.
## what we propose?
we propose a solution that includes best of both worlds.
a RFQ system that can provide liquidity to any kind of defi activity. mm's can create liquidity pool or manage their own pool fulfilling the orders themselves. normal users like you and me can pledge to any liquidity pool by any mm (if they want to accept), earning some amount of fees from all of the defi activity happening.
mm will need to operate a simple api, that will wait for RFQs and then send signed quotes. this api can support multiple types of liquidity providing event like swapping, bridging, margin trading etc, RFQs can subscribe to any type of messages as per their risk apetite.
this will converge all of liquidity providers into a single layer which defi projects can access and start getting millions of dollars of liquidity from day 1 without having to bootstrap mm's.