Strategies

A description of the different strategies employed by Pickle Finance's PickleJars.

Introduction

Each PickleJar employs a Strategy contract to earn yield for its depositors. In this document, we explore the types of Strategies being employed and how these work under the hood.

The PickleJar system is largely based on Yearn's yVault system, and therefore the most relevant function is the harvest() function, which is what executes the profit-generating steps.

All Strategy contracts are being developed under the src/strategies directory of the protocol repository. For a listing of all currently deployed Strategy contracts, see the contracts repo.

CRV-based Strategies

These Strategies are based on farming CRV tokens, and then selling them for more of the deposit tokens (usually Curve LP tokens).

Steps

In broad strokes, this is what the CRV-based Strategies do:

  1. Farmed CRV tokens are collected and converted to the stablecoin offering the most premium.

  2. A portion of the farmed CRV may be locked up as veCRV for future voting and boosting

  3. The stablecoin from Step 1 is then supplied back into the Curve pool to get more of the PickleJar's deposit token (i.e. Curve LP tokens).

The reason for the focus on converting to the most premium stablecoin is because Curve gives a bonus for providing the most premium stablecoin to its pools.

Note: The sCRV Strategy has an additional step to collect farmed SNX and convert that to the most premium stablecoin.

Reference

The relevant Strategy contracts are located in the src/strategies/curve directory. All CRV-based Strategies begin with StrategyCurve and you may reference this README to see which PickleJars are using this Strategy.

UNI-based Strategies

These Strategies are based on farming UNI tokens, and then selling them for more of the deposit tokens (usually Uniswap v2 LP tokens).

Steps

In broad strokes, this is what the UNI-based Strategies do:

  1. Farmed UNI tokens are collected.

  2. A portion of the farmed UNI may be locked up for future voting and boosting

  3. The remaining UNI is sold for WETH.

  4. Half of this WETH is sold for the other token in the Uniswap pair. For example, this would be DAI for the DAI/WETH pair.

  5. Supply both tokens into Uniswap for more of the deposit token (aka LP token).

  6. Stake the additional deposit token to earn even more UNI.

Note: Extra dust is donated to the Pickle Finance community-controlled Treasury.

Reference

The relevant Strategy contracts are located in the src/strategies/uniswap directory. All UNI-based Strategies begin with StrategyUni and you may reference this README to see which PickleJars are using this Strategy.

COMP-based Strategies

We're going back to basics with pJar 0.88, allowing users to deposit base-currencies such as DAI, USDT, USDC etc. The first pJar 0.88a supports DAI, and utilizes a leveraged COMP mining strategy.