All orders routed to DFlow are executed by a network of institutional market makers. To have orders executed, wallets make requests for firm quotes from market makers. If wallets want to display prices, wallets can make requests for indicative quotes from market makers. Requests are made via DFlow's Swap API.
Note if a platform fee is enabled by the wallet, the indicative and firm quote will factor in the fee and return a fee-adjusted price.
An indicative quote is provided by market makers to give a continuous stream of quotes for wallets to display to users. This is a high throughput endpoint that can be called to give users an approximation of the "real" price, where DFlow defines the "real" price as an executable price.
Indicative quotes cannot be executed.
A firm quote is an executable price, meaning retail traders will be able to have their orders filled at the firm quote. I.e when fetched, the receive quantity will be calculated from the firm quote and displayed to users, and users will be guaranteed the receive quantity assuming fill success.
Fetching a firm quote, unlike an indicative quote, returns both a quote for the token swap and a EVM or Solana swap transaction, which the user can then sign to settle the trade. For example, orders from Ethereum return Ethereum swap transactions for users and orders from Solana return Solana swap transactions for users.
If the retail trader signs the transaction, the swap transaction will be sent to the relevant network and the wallet will receive USDC payments.
When to request firm quotes
Note this quote endpoint is rate-limited which means wallets should refrain from retrieving firm quotes unless user has intent of submitting an order. For example, wallets should fetch indicative quotes when displaying continuous prices to users and firm quotes on trade confirmations. For certain types of app designs where user intent may not be explicit, fetching firm quotes at a reasonable frequency is allowed.
Updated about 2 months ago