Earn more by owning the integration process from A to Z

Everything you need to know to get onboard via self-managed service. The self-managed service gives you full control of DFlow features and allows you to earn more from your order flow.

By the end of the following step-by-step instruction, you will be able to send and monetize orders.

Step 1. Set up your endorsement server

The endorsement server is a standalone server that you will need to set up in order to authorize your customers to send order flow to your auctions. This component is required in order to guarantee order flow purchasers are indeed purchasing your order flow, and not an impersonating third-party's order flow.

Setting up an endorsement server is an easy process, and we’ve released an open-source server that works out of the box (and that you can customize further). The endorsement server contains a few configuration options which you can learn more about here.

Step 2. Create auctions

You will sell order flow via auctions you create. Auctions represent batches of orders and are the atomic units that market makers bid into. Auctions are sequential and contain a specification that provides the market maker information about characteristics of the order flow they are purchasing. When a winning market maker is determined, payments for the auction will be sent to you in a pro-rata manner as you deliver orders. All payments are made in USDC.

You can create an auction from the DFlow Dashboard. Our recommendation is to use the multi-auction creation form to upload a CSV of all of the auctions that you plan to create. You can download a sample CSV on the Dashboard and read more about auction best practices.

Each auction that you create has a one-time fee of 5 USDC. This is a fee that is charged once per auction, and not once per auction epoch (meaning you only pay it once for the full lifetime of an auction). We’re happy to cover the total cost of creation for all auctions. When ready, and if desired, please send us the wallet address and the amount in the shared Telegram or Slack group, to cover the auction costs. If a shared group does not exist, reach out via [email protected] or @DFlowProtocol.

Step 3. Swap tokens


Get API key

Reach out to receive an API key. If a shared Telegram or Slack group does not exist, reach out via [email protected] or @DFlowProtocol.

Use DFlow’s Swap API (Self-managed) to swap tokens with market maker liquidity. See below for a brief overview and refer to our API docs (EVM, Solana) for more details.

Note in contrast to using the fully-managed service, a user using the self-managed service must request an /endorsement from its own endorsement server prior to requesting quotes.

/firmQuotePOSTReturns an executable EVM or Solana order transaction from a DFlow market maker. Transaction contains order details and instructions to settle the trade on-chain.
/indicativeQuotePOSTReturns a price for the specified token pair. An indicative quote contains pricing information from the market maker, but unlike a firm quote, it cannot be used to swap tokens at a set price. You should use indicative quotes to show pricing information when you don't have a wallet connected or don't intend to send an order.
/reportTransaction (for EVM)POSTAfter sending signed order transaction to network, receive USDC payments by reporting the EVM transaction hash to DFlow.
/sendTransaction(for Solana)POSTReturns transaction receipt when order is settled on-chain. Sending order is required so auction proceeds can be forwarded to your specified address (see below).
/paymentInLieuPOST(Available to self-managed only) If a market maker fails to return a firm quote in a timely manner, you will still be able to receive the full payment amount in lieu of the firm quote. Payments in USDC will be sent to your DFlow account when you approve payments.