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.

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.

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
Field | Type | Description |
---|---|---|
mmPublicKey | string | This is your bech32 DFlow public key. |
auctionId | string | The auction ID identifying the auction this blind bid belongs to. |
bidHash | string | The SHA256 checksum of the bid and random nonce. |
bidEpoch | uint64 | The 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
Field | Type | Description |
---|---|---|
mmPublicKey | string | This is your bech32 DFlow public key. |
auctionId | string | The auction ID identifying the auction this blind bid belongs to. |
bidHash | string | The SHA256 checksum of the bid and random nonce. |
bidEpoch | uint64 | The 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.
Field | Type | Description |
---|---|---|
mmPublicKey | string | This is your bech32 DFlow public key. |
auctionId | string | The auction ID identifying the auction for which the blind bid is being revealed. |
bid | string | The raw value of the bid. |
bidHash | string | The SHA256 checksum of the bid and random nonce. |
nonce | string | The random nonce used to generate the hash of the blind bid. |
mmUrl | uint64 | The URL of the market maker's quoting endpoint. This will be used by DFlow to fetch indicative and firm quotes. |
bidEpoch | uint64 | The auction epoch for which the blind bid is being submitted. This is current epoch + 1. |
Updated about 1 month ago