How to manage auctions

Learn how to create and manage order flow auctions

Order flow auctions allow you to batch and auction orders. The primary things you need to know are creating, modifying, and deleting auctions.

πŸ“˜

Why do I have to create auctions?

To access DFlow liquidity, you must create auctions for all token pairs you want to support and for all order size ranges you want to support.

E.g. if you want to support trading for ETH-USDC and ETH-BTC, you must create at least one auction for each token pair. If you want to tranche your orders by notional value, you can create multiple auctions with non-overlapping order size ranges (i.e. $100-2,500, $2,500-$5,000, $5,000-$15,000 etc.). See Best Practices below for more information.

Before you begin

DFlow Dashboard is the primary interface for you to create, modify, and delete auctions. In the future, DFlow will release an SDK for users who want programmatic access.

To create auctions on DFlow Chain, you'll need the Keplr browser extension and deposit USDC to your DFlow account. DFlow Chain currently uses Solana as an on-ramp so you must transfer USDC from a Solana account. Transfer is also done using the Dashboard.

Each auction on DFlow Chain costs 0.99 USDC to deploy. DFlow will cover all initial auction creation costs.

Create auctions

DFlow Dashboard offers two ways for you to create auctions. The Single mode is recommended for newcomers to explore auction parameters while the Multiple mode is recommended for creating bulk auctions.

Single

The inputs on this page correspond to the parameters defined in Auction parameters.

Multiple

You can create many auctions at once by importing a CSV that follows the below standards.

See below for valid CSV values for each parameter.

Auction parameterExample valuesDescription
Network- evm1 for Ethereum
- Check out Supported networks for valid values.
The network where you're originating order flow.
Base0xdAC17F958D2ee523a2206206994597C13D831ec7- The base token.
- EVM auctions can specify the native token using the value 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee. Auctions that specify the native token will receive order flow for both the wrapped and unwrapped variants of the native token. DFlow auctions do not support specifying the wrapped variant of the native token as the base or quote.
- Make sure you verify token address is legit using an explorer like this one for Ethereum
Quote0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB481The quote token.
Notional size- 500000
- This value is in USD
- At least $500,000
The amount of order flow to sell.
Order size min- 100.50
- This value is in USD and is inclusive
- Specify at most two decimals
The lower end of the order size range on the order flow.
Order size max- 500.50
- This value is in USD and is exclusive
- Specify at most two decimals
The upper end of the order size range on the order flow.
Delivery period- 30H
- Use H for hours and D for days
This is the maximum delivery period per auction epoch.
Fee payer mode- MM
- The two options are RT and MM
The entity who sends the swap transaction on EVM networks or Solana. The transaction sender is also the transaction fee payer. Note on EVM networks, when MM is selected, the market maker will receive a reimbursement for the network gas costs from the swap order. Instead of signing a transaction, EVM users will sign a message, meaning they do not need to hold native tokens to swap.
Client auction IDSample-Auction-1This is an tracking ID for your auction to be displayed publicly.

How are orders routed to auctions

When you have a winning auction, you can begin delivering orders for execution to the winner of the auction. Market maker liquidity is confined to parameters specified by the auction. That is, by bidding for and winning an auction, a market maker agrees to fill orders for a specific token pair (i.e. base / quote) up to a certain amount (i.e. notional size) over a specific time period (i.e. delivery period) for orders within a range (i.e. min / max).

Orders are routed to auctions based on the token pair and order size. If there is an auction of valid token pair and order size, it is considered a match. If there is no match, you have to create auctions to support that token pair and/or order size.

🚧

Overlapping order size range

It is strongly advised to create auctions that do not have overlapping order size ranges. If ETH-USDC Auction A is for sizes between $0 and $1,000, it is not recommended you create another ETH-USDC auction for sizes between $500 and $5,000. In the case there are overlapping auctions, the order will be routed to the auction of the lower ID (i.e. created first).

The DFlow Dashboard will print a warning before you deploy your auctions. Overlapping auctions have a lower probability of receiving bids from market makers.

You can modify or delete auctions to solve the overlapping order size range issue.

It's recommended auctions do not have overlapping order size ranges.

It's recommended auctions do not have overlapping order size ranges.

Best practices

DFlow auctions are highly configurable and below are some recommendations for setting each parameter. All fields are modifiable after auction creation.

πŸ“˜

Estimating flow rate

DFlow auctions specify a flow rate (i.e. amount of orders delivered over a certain period of time) to the market maker. It is optimal for earnings if you consistently deliver the stated notional size but you are not punished for failing to deliver. By the end of an auction epoch, unrealized bids will be returned to the market maker and over time, market makers will price in the realized flow rate.

Auction parameterRecommended value
Notional sizeDFlow requires at least $500,000. The value you specify is dependent on the token pair's trading volume on your platform. This value should be considered in relation to the length of the auction's delivery period too. For example, if you specify $1 million and your delivery period is 1 day, you are expected to deliver around $30 million for the month. As a reminder, notional size is the amount you deliver per epoch. While you are not forced to deliver the full amount and will not be punished, your auction's expected earnings may go down since the market maker will price in a lower realized delivered amount. You should make your best effort to ensure expected and realized order flow is similar.
Order size rangeSetting the optimal order size range is dependent on your platform's user base and strategy. If Notional Size determines the size of the "bucket", Order Size Range determines the size of the "funnel". A tighter range ($0 to $3,000 vs. $0 to $100,000) provides more information to the market maker and may yield a higher bid amount. However, a tighter range can be a detractor to earnings when it results in a lower realized delivered amount. If you find that each day, $10 million of ETH-USDC orders are between $500 and $3000, you can create an auction for that range. You may also want to offer fee discounts for larger order sizes and you can set platform fees for orders above a certain size (e.g. $10,000 to $30,000).
Delivery periodThe Delivery Period determines the length of each auction epoch and it is recommended you set the length from a couple hours long to 24 hours. When you set a shorter length (24 hours vs. 3 weeks), you are relaying more precise information about the order flow to the market maker, which may lead to a higher bid amount. However, you want to avoid setting arbitrarily low values (i.e. 10 minutes) to ensure you have enough time to deliver the stated Notional Size – for the same reason noted above. In some cases, you may find that your auction did not receive any bids, meaning you would need to route orders to a backup LP. If your delivery period is 10 hours, you would only need to wait for about 10 hours for the next round of bidding. Therefore, for testing purposes to get a feel for how auctions work, you may set a short length (e.g. 20 minutes) and have DFlow supply zero-bids.

Delete auctions

DFlow auctions are designed to run perpetually. If you do not want to operate an auction anymore or to fix an overlapping order size range issue, you can delete the auction using the DFlow Dashboard.

Reminders when deleting an auction:

  • Deleting an auction means orders that match the auction will no longer be routed to market maker liquidity and you won't receive payments for qualifying orders.

  • Deleting an auction in the middle of delivery means you will forfeit any unrealized payments. Payments are paid out pro-rata based on the auction's notional size. For example, if you specified the auction should deliver $1,000,000 and only delivered $600,000, you will receive 60% of the payment.


What’s Next

When you are finished setting up your auctions, you can start sending orders to DFlow.