The auction is a process where participants bid USDC to acquire underlying pool assets like wstETH from a pool over a specified time frame, typically 10 days. During the auction, bidders submit their offers in USDC, competing for a portion of the pool's ETH. The auction contract tracks each bid, ensuring that all bids are recorded and accounted for.
To understand how this system works, let’s walk through the process of how users participate in the auction and how the distribution of ETH related pool assets and USDC works, similar to the transfer and tracking of bond tokens:
In this auction, each bid is divided into slots, with each slot representing a multiple of USDC. The slots are essentially standardized units of bidding, tied to a minimum amount of USDC required to participate. Instead of bidding a random amount of USDC, every bid is structured around these slots, where each slot corresponds to a fixed fraction of USDC known as the "minimum bid amount."
For instance, if the minimum bid for a slot is set at 100 USDC, and a user wants to bid 500 USDC, this bid would be broken down into 5 slots. Each slot represents a share of the total USDC needed in the auction, with the slot system ensuring that bids are consistently structured and measured.
As the auction proceeds, the system tracks how many slots each participant bids on. For example, if a user submits 1000 USDC and the minimum bid per slot is 100 USDC, that bid equates to 10 slots. Once the auction ends, the system calculates how many slots each participant has successfully won based on the overall demand and other bids.
At the end of the auction, each winning bidder is awarded ETH related asset for the slots they won - this quantity is based on their bid scaled for how much they are actually being filled if that amount is smaller than their total bid. If the participant's bid of 10 slots results in winning 6 slots after the auction closes, they would receive a portion of ETH related assets proportional to those 6 slots.
This slot-based system provides a clear structure for participants to understand how their bids relate to the minimum bid requirement and how much ETH they might win. It also ensures that the ETH is distributed fairly and proportionately based on the number of slots successfully acquired in the auction, and allows the protocol to overcome block size limitations when tallying bids.
Refer to the image below, referenced from Gnosis’ EasyAuction contracts to better understand how the slotting mechanism works. The initial version of the auctioning system splits the available USDC the protocol needs to acquire into 1,000 equal slots.