All Blog Posts

Introducing Auction Rebalancing

The Index Coop’s new Auction Module eliminates much of the complexity and cost associated with rebalancing our products.

Note: you can participate in the Index Coop's first ever rebalancing auction on Friday January 12th. Click here to access our Auctions App.

In 2023, Index Coop developed a new capability for Index Protocol that enables rebalancing via Dutch auctions. This new feature represents a step change in rebalancing onchain structured products and optimizes outcomes for product holders. 

This article will cover:

  1. Why auctions matter
  2. How to initiate an auction
  3. How to participate in an action
  4. What auctions enable
  5. FAQs about auctions
  6. Additional resources

This article is meant to be a non-technical introduction to the new Auction Rebalance Module, with references to more technical materials at the end of the article.

Why Auctions Matter

Rebalancing is a core function of all Index Coop products, and historically, it has been accomplished using smart contract modules that trade against DEX liquidity. However, relying solely on DEX liquidity restricts what tokens can be used in structured products and introduces constraints like trade depth, price impact, and other costs. Unique DEX adapters must also be developed and maintained to aggregate liquidity, adding to protocol “bloat” and overall complexity.

As a result, token managers must constantly monitor liquidity for components and navigate the complexity associated with different DEXs and smart contract modules. The design space for potential products also narrows if minimum liquidity conditions must be met for a given methodology, eliminating assets that may not have native liquidity wherever the core protocol is deployed.

For token holders, costs can manifest as NAV decay if liquidity conditions are poor when a product must be rebalanced. If not carefully managed, variables like price impact, slippage, and swap fees can erode the value of a structured product over time if it is completely dependent on DEX liquidity.

The Index Coop’s new Auction Module eliminates much of this complexity and cost and ultimately enables better execution for token holders! 

Rather than “take” whatever DEX liquidity is available, auctions enable you to “make” liquidity available at specified prices, fundamentally changing how structured products rebalance on Index Protocol. By enabling liquidity providers or market makers to trade directly with an index, we eliminate intermediary DEX dependencies and better align incentives.

Also, because the Auction Module is a global smart contract for Index Protocol, many different products can run rebalances concurrently. This applies to Index Coop products as well as third-party products built on Index Protocol in the future. Reorienting the protocol around auctions also enables upgrades like onchain governance and automated, trust-minimized rebalancing in the near future, in addition to improving protocol simplicity and scalability.

Initiating an Auction

This new capability is contained within the Auction Rebalance Module, a core smart contract for Index Protocol. If you are unfamiliar, Index Protocol is an EVM protocol for managing digital asset strategies that enables index, leverage, yield, and automated strategies to be translated into ERC-20 tokens; it is a good-faith fork of Set Protocol v2 and the primary platform for Index Coop products as of 2023.

The new Auction Module allows token managers to execute rebalances via Dutch auctions. 

A Dutch auction is a specific type of auction where an initial price is set and gradually lowered until someone is willing to accept the current price. Dutch auctions are particularly efficient at determining the market price for an asset while simultaneously reducing the time and complexity involved in finding the highest bid; uniform pricing is also advantageous for both buyers and sellers.

Within the context of Index Protocol, individual Dutch auctions apply to each product component being rebalanced, with many potential single-asset auctions running concurrently. Before starting each component-specific auction, the token manager must specify 1) an initial price, 2) a price function, 3) an amount for auction, and 4) the duration of the auction.

  • Initial Price: In terms of the initial price, the token manager may set it at or above the market price; the token manager could also theoretically set the initial price below the market price (though there are fewer scenarios where this would be useful). Prices may be denominated in ETH or an ERC-20, like WETH or USDC, based on the optimal pairing for a given auction.
  • Price Function: The token manager must specify how the auction price will decrease throughout the duration of the auction. This is accomplished through the use of unique price adapters, or smart contracts that can enforce arbitrary functions of time and quantity. Currently, there are four price adapters to choose from: Constant, Bounded Stepwise Exponential, Bounded Stepwise Linear Price, and Bounded Stepwise Logarithmic. Price adapters also have discrete parameters that must be set before each auction, such as the slope and size of each bucket as well as price bounds.
  • Amount for Auction: The token manager must specify the quantity of assets that will be up for auction. This is accomplished by defining the target allocation for a component at the end of the rebalance in percentages. The amount of an asset available for auction also has implications for price adapter parameter settings.
  • Auction Duration: Lastly, the token manager must determine the length of time or duration for each single-asset auction. Auction duration can vary from minutes to days, so there can be significant variability from one rebalance to the next. Discrete parameters in each price adapter also take into account the auction duration when determining the size and slope of price curves. Auctions can conclude early if the full amount of assets up for auction have been bought before the full duration of the auction.

Auctions can be either public, where anyone can bid and participate, or private, where only whitelisted addresses may bid. 

Public auctions encourage competition amongst bidders and should typically result in the best outcomes for structured product holders; for this reason, the default state for Index Coop product rebalancing will be public auctions. However, private auctions may be advantageous if liquidity is scarce or components must be migrated or upgraded by the issuer. Regardless, all information associated with auction settings, bidding, and settlement is publicly available on the blockchain for maximum transparency; this is true for both public and private auctions. Ultimately, it is up to the token manager to determine whether bidding will be open or closed for a given rebalance.

Lastly, token managers have the option to “lock” product tokens to prevent bidders from being front- or back-run by malicious actors and also to keep auction quantities consistent during the duration of a rebalance. 

“Locking” a product token constitutes disabling self issuance and redemption while an auction is active. This, in addition to public auctions, will be the default state for Index Coop products that rebalance via the Auction Module. Allowing anyone to bid should expedite and conclude the auction process before the full duration has elapsed; this should minimize the amount of time when issuance and redemption for product tokens is unavailable.

Once the token manager has configured all of the necessary auction settings, they may initiate a rebalance.

Participating in an Auction

After an auction has begun, participants can bid on the available assets by accepting the current auction price and specifying how much they would like to purchase. 

The auction price at any given time will be a function of the starting price, the relevant price curve, and the time elapsed since the auction began; as a reminder, the current price will gradually decrease until the full amount up for auction has been bought or sold and the target allocation has been reached. The amount available for auction at any given time is equivalent to the full amount specified at the beginning of the auction minus any accepted bids.

As an auction progresses, bidders can view the current price of the auction and submit a bid at that price. Assuming the bidder has a sufficient amount of assets in their wallet, their bid will be accepted and executed in an atomic fashion; this ensures that all product tokens remain fully collateralized at all times. If someone were to bid above the current auction price, their bid would be accepted but executed at the current auction price; if someone were to bid below the current auction price, their bid would be rejected.

In the case of a public auction, bidders can be anyone who wishes to participate: liquidity providers, whales, traders, market makers, or bots. It is in the best interest of product holders to have as many bidders as possible, which is why the public auction model is optimal. In the case of a private auction, a whitelist will restrict which addresses are eligible to bid. As a reminder, all auction details–initial settings, accepted bids, settlement–will be published on the blockchain, regardless of whether or not the auction was public or private.

Bidders can always interact with the Auction Module smart contract directly, but they will also have access to a user interface for participating in auctions. This auction interface is currently under development but will be launched alongside initial auctions in Q1 2024. Index Coop also intends to build a programmatic interface or SDK for integrating auction order flow into other third-party applications, like market-making platforms and DEX aggregators. If your team is interested in participating in auctions or integrating auction order flow, please reach out to the Index Coop team in Discord!

What Auctions Enable

In addition to the benefits outlined above, the Auction Module unlocks future upgrades for Index Protocol like decentralized reweighting and rebalancing. Because rebalancing is no longer dependent on DEX liquidity (which warrants time-sensitive transactions), the process of calculating, proposing, and executing a rebalance for a given product can be automated in a more decentralized fashion. For token managers, this simplifies ongoing maintenance and management. For token holders, it improves product longevity and operational efficiency. Incorporating optimistic governance also creates additional assurance for stakeholders, enabling the complete product lifecycle to be as automated and decentralized as possible. This new capability will debut in Q1 2024 in concert with auction rebalancing for Index Coop products!

FAQs

What products can the Auction Module be used for?

The Auction Module can be used for products deployed on Index Protocol, which currently includes Index Coop products like ic21, dsETH, gtcETH, and cdETI. Looking forward, Index Coop products and products built by third parties will be able to utilize auction rebalancing in the future as well!

Unfortunately, legacy Index Coop products, like DPI, MVI, and BED, cannot utilize auction rebalancing because they are deployed on Set Protocol V2 (which cannot be upgraded).

What types of components can the Auction Module support?

The Auction Module supports ERC-20 tokens, including blue chips like WBTC and WETH, governance tokens like UNI and COMP, liquid staking tokens like wstETH and rETH, and yield tokens like cUSDC.

Can product tokens be issued or redeemed while an auction is active?

It is ultimately up to the token manager to determine whether or not issuance and redemption are permitted during an active auction. However, it is recommended that tokens be “locked”, with issuance and redemption disabled, during an auction; doing so prevents bidders from being front- or back-run by malicious actors and keeps auction quantities consistent during the duration of a rebalance.

Who can participate in auction rebalances?

In a public auction, anyone can participate: market makers, liquidity providers, whales, traders, or arbitrage bots! In a private auction, only whitelisted addresses are permitted to bid. Regardless of bidder permissions, anyone can see the settings, status, and execution for every auction thanks to the blockchain.

How can people participate in auction rebalances?

Initially, people can participate in public auctions using a graphical user interface (GUI) developed by Index Coop. Bidders may also interact with the Auction Module directly onchain if there is a technical preference to do so.

Soon, there will be a programmatic interface as well that can be used to integrate auction information and participation in third-party applications.

What happens if the market price for an asset rises during an auction?

If the market price of an asset rises after an auction begins, then there may be a temporary arbitrage opportunity between the market price and the auction price of the asset. In this scenario, bidders are incentivized to compete for the arbitrage opportunity, driving the ultimate execution price closer to the auction price and minimizing disparity with the market price.

What happens if the market price for an asset falls faster than the auction price?

If the market price of an asset falls faster than the auction price, there will not be an incentive for bidders to participate in a rebalance. In this case, assets may be left over once the auction concludes, requiring a new auction with new parameters to be initiated.

What happens if there are assets left over once an auction ends?

If an auction concludes and some quantity of assets was not bought or sold, then the product will not have reached its target allocations. In this case, the token manager would need to initiate another rebalance.

All auctions on Index Protocol will move through the single, global Auction Module, so the more total volume there is, the more likely the ecosystem will be to participate. Enabling broad access to auctions through user and programmatic interfaces should improve bidder demand as well.

More Resources

Disclaimer: This content is for informational purposes only and is not legal, tax, investment, financial, or other advice. You should not take, or refrain from taking, any action based on any information contained herein, or any other information that we make available at any time, including blog posts, data, articles, links to third-party content, discord content, news feeds, tutorials, tweets, and videos. Before you make any financial, legal, technical, or other decisions, you should seek independent professional advice from a licensed and qualified individual in the area for which such advice would be appropriate. This information is not intended to be comprehensive or address all aspects of Index or its products. There is additional documentation on Index’s website about the functioning of Index Coop, and its ecosystem and community.

You shall not purchase or otherwise acquire our restricted token products if you are: a citizen, resident (tax or otherwise), and/or green card holder, incorporated in, owned or controlled by a person or entity in, located in, or have a registered office or principal place of business in the U.S. (defined as a U.S. person), or if you are a person in any jurisdiction in which such offer, sale, and/or purchase of any of our token products is unlawful, prohibited, or unauthorized (together with U.S. persons, a “Restricted Person”).  The term “Restricted Person” includes, but is not limited to, any natural person residing in, or any firm, company, partnership, trust, corporation, entity, government, state or agency of a state, or any other incorporated or unincorporated body or association, association or partnership (whether or not having separate legal personality) that is established and/or lawfully existing under the laws of, a jurisdiction in which such offer, sale, and/or purchase of any of our token products is unlawful, prohibited, or unauthorized).

Recent Posts