How Rebalancing a Set Works
An explanation of the mechanisms that power some of the largest on-chain auctions on Ethereum
The magic of Set Protocol is that rebalances occur automatically via an open dutch auction process that anyone can participate in.
Unlike the minting of a Set on TokenSets (which is done via Kyber Network or 0x) the liquidity for Set rebalances can be sourced from anywhere — whether that be via centralized exchanges such as Coinbase, via OTC desks or a decentralized exchange such as dYdX.
Our public Rebalancer Dashboard allows anyone to participate in Set rebalances (which are typically some of Ethereums largest on-chain auctions) with ease.
The Rebalancing Process
Rebalancing is the process of realigning the weights of a Set by periodically purchasing and selling components to maintain a certain allocation.
This works in 3 stages:
1. All rebalancing criteria have been met
2. A rebalance has been proposed
3. A rebalance is executed and settled
Rebalancing Criteria
For the most part, Set’s rebalance based on two criteria which are based on the Set’s strategy and the asset that its collateralized by. These criteria are detailed below.
Rebalancing Interval: The amount of time a Set needs to wait in order to execute a rebalance. This is applied in order to avoid rebalancing multiple times in a short period of time which would result in higher likelihood of rebalancing slippage, and extra downtime of buy, sell, issuances, and redemptions.
Price Movement: The underlying tokens must go through enough price movement in order to justify a rebalance.
On each Set page on TokenSets, we show the rebalancing criteria to easily visualize if a rebalance is ready to take place.
For example: the ETH20SMACO Set will only be ready for a rebalance if the following conditions are met:
1. A minimum of 4 days has passed since the previous rebalance
2. The current price of ETH has crossed above or below the 20 day moving average of ETH for between 6 and 12 hours
The Proposal Period
When all rebalancing criteria are met, the Set enters the proposal period, a grace period where Set holders can review the proposed rebalance parameters & opt out if they disagree. All actions such as buying, selling, issuing, & redeeming are all available during this period.
It’s worth noting that sometimes the criteria on TokenSets may appear all green and ready for rebalance, but not trigger right away. This is due to the discrepancy between the real time display prices we show from CryptoCompare vs the actual on-chain price feed the Set smart contracts read from. We currently use Maker’s price feed oracles for our on-chain price data.
The Rebalancing Phase
Once the proposal period ends, the Set enters the rebalancing phase. During this time, buying, selling, issuing, and redeeming are all paused, and the over-collateralized token(s) are traded for the under-collateralized token(s) in a dutch auction by liquidity providers. During the auction process, traders can submit bids to swap the new components of the Set for the old ones. Over time, the price becomes more and more favorable to traders as the auction goes on which ensures that the rebalancing reaches completion.
A range of independent individuals and groups participate in this open auction process including market makers and the Set Labs team.
Rebalancing Slippage
It’s important to note that users may incur a small amount of slippage during a rebalance under certain circumstances. Rebalancing slippage is a side effect of a dutch auction mechanism used in a Set’s rebalance. In a simplified explanation, the more collateral there is to rebalance in a dutch auction system, the more time it will take to rebalance all the collateral. As more time passes in a Set dutch auction, less under-collateralized tokens are needed in exchange for over-collateralized tokens in order for a Set to rebalance to its target weight. During this process, the changing ratio for under-collateralized tokens in exchange for over-collateralized tokens naturally changes the net asset value of the Set as some of the value is either taken out or added in by the rebalancing liquidity provider. This change in net asset value is the rebalancing slippage.
Liquidity
As you may already be aware, the liquidity for minting or disposing of Sets is sourced using Kyber Networks on-chain liquidity reserves.
It’s important to note that liquidity for rebalances is not sourced from Kyber Network like it is when users acquire or dispose of a Set.
As the auction is an open process, liquidity for the rebalances can be sourced from anywhere by the groups or individuals that are participating in the rebalancing auction. After all of the collateral of a Set has been rebalanced to its new weights, the rebalance is settled, and buying, selling, issuing, and redeeming are all reactivated again.
It’s worth noting that the length of a rebalance auction varies; for example, the auction typically takes around 2 hours for the ETH20SMACO Set to reach fair value. Buy and Hold Sets typically take ~12 hours and the ETH & BTC minimum volatility sets take around 4 hours.
How to Participate in Set Rebalances
To participate in a rebalancing auction, visit the rebalance interface here and follow the guidance below.
- Navigate to the Set that is currently Rebalancing
2. Approve any USDC or WETH for trading. Note: this version of the bidder uses Wrapped Ether. Wrap your Ether on Eth2Dai or Radar Relay.
3. Monitor the auction until it reaches a value you believe is a good price and submit your transaction.
Trend Trading Set Auction Specifics
Below are parameters to look at for Trend Trading Set auctions specifically:
- Auctions start at a price ratio of 12% below fair value, which is calculated at the exact moment the start auction functions are called. This will be the ratio of USDC/ETH depending on the rebalance. The 12% value was selected to be conservative and capture sharp ETH price movements right after the start auction functions are called.
- The price improves 1% on average every 10 minutes for the bidder. This means the fair value will be after 2 hours or 120 minutes assuming ETH price does not change.
- The state will shift to “Rebalance” when the auction kicks off. This is the same for all Sets during rebalances.
The Current Gain/Loss value displayed on the auction dashboard is calculated using CryptoCompare prices. If users want to use their own source for the ETH/USD spot price, users can reconcile the Current Auction Price value with whichever exchange price feed.
For example, displayed below is the auction interface for the ETH26SMACO Set once it has reached its fair value stage.
Conclusion
We hope that this piece has been educational and has given you a more informed view on how Set rebalances work and how you can get involved.
If you’re a professional market maker looking to get involved in Set rebalances we’d love to talk to you! Please reach out to markets@setprotocol.com and introduce yourself.