Submit bids

Submit bids into on-chain order flow auctions

🚧

Bidding SDK

DFlow will release and maintain a Bidding SDK in a number of popular general-purpose programming languages to allow you to programmatically submit, revise, and reveal blind bids.

To receive order flow, you must first win an order flow auction (OFA). DFlow OFAs are blind auctions created and deployed on the DFlow Chain by order flow sources. To win, you must have the highest bid by the end of the auctioning period.

All bids are in USDC. During the auctioning period, you can:

  • Submit blind bid
  • Revise blind bid
  • Reveal blind bid

Recap on DFlow OFA

Each OFA defines the specific grade of a batch of orders. You will be able to query this information from the DFlow Chain before you submit your bid.

Bidding Auction Example

Each OFA will have an auctioning period where you can submit blind bids. The length of the auctioning period is the same as the previous epoch's delivery period.

Auction Structure

Step 1A: Submit Blind Bid

There is no limit on the number of OFAs you can bid into. No one can see your bid value until you reveal it during the reveal period.

Length

The protocol defines the bidding period as the first 70% of the auctioning period. For example, if auctioning period is 1 day, you have the first 16.8 hours to submit a bid.

Blind bid message

FieldTypeDescription
mmPublicKeystringThis is your bech32 DFlow public key.
auctionIdstringThe auction ID identifying the auction this blind bid belongs to.
bidHashstringThe SHA256 checksum of the bid and random nonce.
bidEpochuint64The auction epoch for which the blind bid is being submitted. This is current epoch + 1.

Step 1B: Revise blind bid

You may revise your bid amount during the bidding period.

Revise blind bid message

FieldTypeDescription
mmPublicKeystringThis is your bech32 DFlow public key.
auctionIdstringThe auction ID identifying the auction this blind bid belongs to.
bidHashstringThe SHA256 checksum of the bid and random nonce.
bidEpochuint64The auction epoch for which the blind bid is being submitted. This is current epoch + 1.

Step 2: Reveal blind bid

To win an auction, you must reveal your bid. The reveal period follows the bidding period.

During the reveal period, you will not be able to submit a new bid. By the end of the reveal period, if you do not have the highest bid, whether you chose to reveal or not, you will get your bid amount returned. If you have the highest bid by the end of the reveal period, you will become the winner and receive the exclusive rights to fill the underlying orders immediately.

FieldTypeDescription
mmPublicKeystringThis is your bech32 DFlow public key.
auctionIdstringThe auction ID identifying the auction for which the blind bid is being revealed.
bidstringThe raw value of the bid.
bidHashstringThe SHA256 checksum of the bid and random nonce.
noncestringThe random nonce used to generate the hash of the blind bid.
mmUrluint64The URL of the market maker's quoting endpoint. This will be used by DFlow to fetch indicative and firm quotes.
bidEpochuint64The auction epoch for which the blind bid is being submitted. This is current epoch + 1.

What’s Next

Learn how to fill orders when you win auctions.