How Rebalancing a Set Works

An explanation of the mechanisms that power some of the largest on-chain auctions on Ethereum

Anthony Sassano
Nov 8, 2019 · 6 min read

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

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

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

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

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 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

  1. 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

  • 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.


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 and introduce yourself.

Learn more about Set and join our community

Set Labs

Grow your crypto using automated asset management strategies

Anthony Sassano

Written by

Marketing at | Co-founder of and Co-host of the Into the Ether podcast

Set Labs

Set Labs

Grow your crypto using automated asset management strategies

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade