Everything Must Go

Participating in Yearn Oracle-Free & Permissionless Dutch Auctions for fun and profit

While some of us have been caught up in the frenzy of the latest memecoin meta, Yearn developers have been obsessing about the auction meta, drawing inspiration from the design of Ajna, a permissionless and oracle-free lending protocol. Their focus has been on how Dutch auctions can enhance and automate Yearn's backend processes. This resulted in a new Auction primitive that the Yearn suite of contracts will be increasingly using, and this article unpacks the details.

We'll begin by discussing the initial auction use cases, proceed to explain how the auctions work, and conclude with how you, the opportunistic anon, can profit.

Use Cases

V3 Vault Harvests

Yearn's V3 vaults feature notable enhancements such as Tokenized Strategies, Smart Modules, and an improved system for deploying compounding strategies for any token.

The core mechanism remains: An asset token is deposited into a Yearn vault, which then farms yield through various strategies, receiving a reward token, that is compounded into more asset.

However, the compounding step, converting yield into the underlying asset, has always been a challenge. Initially managed through permissionless function calls, the rise of MEV necessitated a shift to various keeper networks. Is there a better solution?

How can we efficiently exchange reward tokens for asset tokens on-chain in a permissionless fashion?

YFI Buybacks

Through veYFI farming, Yearn vault depositors earn "Discount YFI" (dYFI) tokens. These tokens are redeemable 1:1 for YFI at a discount, depending on the total veYFI locked. Users pay a lower-than-market WETH amount to convert dYFI into actual YFI.

The WETH collected from redemptions is used to buy back more YFI for future dYFI redemptions.

What's the optimal method to trade WETH for YFI on-chain?

Automated Treasury Management

The Yearn treasury earns fees in various tokens from the suite of Yearn protocols. These need to be sold into specific assets for long term holding or to cover operational expenses.

How can the management of the treasury balance sheet be automated?

Yearn Dutch Auctions

Design Principles

Yearn contributors are lazy animals, avoiding manual labor and seeking automation wherever possible. We favor systems that require minimal intervention and operate independently. Risk minimization is key; we aim to avoid reliance on potentially unreliable external data sources like price oracles. We like simple things. To give superior yield to users, we favor designs that can be efficient and resistant to MEV leakage.

How it works

  1. Each asset, has a dedicated auction contract. Many different sell tokens can be offered through distinct auctions through this contract, receiving the same asset in return. In other words, "Sell DAI for YFI" and "Sell WETH for YFI" can both supported through the same contract with YFI as the asset, but any one auction will only sell either DAI or WETH, never both.

  2. Tokens for sale accumulate either in their respective auction contracts directly, or in the contracts that rely on the auctions (and get transferred to the auction contract at the start of the auction).

  3. An auction can be initiated either once a sufficient sell amount accumulates, or upon a manual kick() call that is permissionless.

  4. Auctions can last up to 24 hours and occur no more than once within some configurable interval, like weekly.

  5. The initial price is set high and decreases with time, halving every hour.

  6. Takers can take() the sell token on offer at the current price, providing asset to the contract in return.

  7. The auction concludes once all sell in the batch is sold or 24 hours elapse.

  8. Unsold sell carries over to the subsequent auction.

Participate to Profit

Engage as a Taker to potentially profit through arbitrage or to acquire tokens at favorable prices, contributing to Yearn's ecosystem.

Watch for AuctionEnabled() events to identify active contracts, and AuctionKicked() to note auction commencements.

Our first Auction contracts sell WETH for YFI and [USDC, STURDY] for WETH, with more to follow shortly. Keep an eye out for contracts created by the v3 AuctionFactory.

For further details, consult the API documentation or join us in the Auctions Secret Admirers group on Telegram if you have questions.

yearn logo
Subscribe to yearn and never miss a post.
  • Loading comments...