View the Rebalancing Dashboard here.
Set Rebalancing Overview
When the state of a Set transitions into the “Rebalance” phase, Set Protocol’s smart contracts kick off a modified dutch auction. In this open auction, components from the previous allocation are exchanged for the components in the new allocation (e.g. ETH is auctioned off for USDC).
The auction is similar to a traditional dutch auction in that price (or the ratio between inflow tokens and outflow tokens) follows a predefined price curve which starts off high and goes down every Ethereum block (currently every 13 seconds). At a certain point the auction will pass fair value and there is a spread between the cost of acquiring the injected components and the received components. This is when it becomes profitable for participants to submit transactions to exchange these components.
The auction differs from traditional dutch auctions in that bids settle immediately or atomically, meaning that bidders receive the outflows tokens (e.g. USDC) in the same transaction as the injection of the inflows (e.g. ETH). Funds are never locked in the contract. This mechanism eliminates front running and bidders simply compete on time and gas.
In addition, the auction is not capped, and runs until outflows are swapped with the inflow tokens. For more technical information on how rebalances work, please check the "Rebalancing" section of the Set Protocol white paper linked here.
Each auction has different parameters depending on how active the strategy is. I.e. Indexes have more conservative auction parameters compared to moving averages.
The auction parameters in the current Sets are:
- Auction start price: this is the price ratio at which the auction starts as determined by MakerDAO’s price feeds. For more active Sets such as the ETH20SMACO, the auction starts at 12% below fair value.
- Price step: The price ratio updates slightly every block. For more active Sets such as the ETH20SMACO this averages to 1% every 10 minutes. This means that the auction is expected to hit fair value after 120 minutes (1% price step starting at 12% below fair value)
- Minimum bid size: The minimum amount of units of outflows that can be bid at one time (this is fractions of a cent).
Some of our auctions are rebalanced using TWAP which breaks large auctions into chunks. Some additional parameters that make signify a TWAP auction are:
- Chunk x of y: each rebalance will now indicate how many total chunks there are in the entire rebalance and the current chunk the UI is executing
- Current Auction Chunk: reflects the approximate USD value of current auction chunk size. This will be approximately the same value for all of the chunks except for the last chunk.
- Current Auction Process: refers to the progress of the current chunk only, not the progress over the entire rebalance
- Total Auction Size: refers to the approximate USD value of the entire rebalance across all of its chunks
Participating in the Auction
To participate in a rebalancing auction, visit the rebalance interface here and follow the guidance below:
- Navigate to the Set that is currently Rebalancing.
- Approve any USDC or WETH for trading. Note: this version of the bidder uses Wrapped Ether. Wrap your Ether on Oasis, KyberSwap or Radar Relay.
- Monitor the auction until it reaches a value you believe is a good price and submit your transaction.
If you wish to integrate even more deeply on a smart contracts or build a bot for rebalances, reach out to us in Telegram or on Intercom. We can provide additional documentation and tools.