FODL Positions

On FODL, each position (trade) opened is implemented as a smart contract owned by the user with the following high-level features:

  • Supplying/borrowing assets with lending platforms (eg. Aave, Compound, etc.)

  • Exchange of assets using the decentralized exchanges available on the chain (eg. Uniswap, Curve, Quickswap, etc.)

  • Operation using flash loans (link to some resource about flash loans). Configuration of stop-loss / take-profit price thresholds.

FODL uses these features as building blocks to construct financial instruments such as Long / Short positions: borrowing the Short asset, exchanging it for the Long asset, and supplying it together with some initial principal investment that acts as a margin.

Note: Any trade is both a Long and a Short. For example, a Long ETH vs BTC trade is equivalent to a Short BTC vs ETH trade. However, when one of the assets is a stable coin, the common practice is to use the direction of the non-stable coin asset. For instance, a Short ETH vs. USDC trade (aka Long USDC vs ETH) is just called “Short ETH” as the Long (supply) asset is a stable coin.

To simplify the trade execution, FODL requires users to provide a principal investment, to be used as a margin, in the supply (Long) asset. A Long / Short position is represented on the underlying lending platform as follows:

  1. Supplied asset: Supply_Amount = (Leverage + 1) * Principal (This amount acts as collateral for the borrowed asset.)

  2. Borrowed asset: Borrow_Amount = Leverage * Principal / Price_Borrow_to_Supply (This amount is owed to the underlying lending platform and must be repaid from the collateral supplied.)

When opening, increasing the value or the leverage of a position, the borrowed asset is exchanged into the supply asset. On the other hand, when closing, decreasing the value or leverage of a position, the supplied asset is exchanged into the borrowed asset.

Notice the value and PnL of a position can be expressed mathematically: Position_Value = Supply_Amount - Borrow_Amount * Current_Price_Borrow_to_Supply PnL = Position_Value - Principal = (Leverage + 1) * Principal - (Borrow_Amount * Close_Price_Borrow_to_Supply) - Principal = Leverage * Principal - Leverage * Principal * Close_Price_Borrow_to_Supply / Entry_Price_Borrow_to_Supply = Leverage * Principal * (1 - Close_Price_Borrow_to_Supply / Entry_Price_Borrow_to_Supply) = Leverage * Principal * Price_Drop_Borrow_to_Supply

Notice how the profit is directly proportional (with a factor of Leverage) to the price drop of the borrowed (Short) asset. See detailed examples below!

Long Position

By going long, a trader opens a position with the expectation that the underlying borrowed (Short) asset will drop in value against the supplied (Long) asset in the future.

Example: Long ETH

Asset Pair: supply ETH & borrow USDC

Price: 1 ETH = 1000 USDC or 1 USDC = 0.001 ETH

Principal: 100 ETH

Leverage: 3x

Your net starting position would be:

  • Supply = (Leverage + 1) * Principal = 4 * 100 = 400 ETH

  • Borrow = Leverage * Principal / price_USDC_ETH = 3 * 100 / 0.001 = 300,000 USDC

  • Position Value = Supply - Borrow * price_USDC_ETH = 400 - 300,000 * 0.001 = 100 ETH

ETH prices moves to $1200

New Price: 1 ETH = 1200 USDC or 1 USDC = 0.00083 ETH

Price Move: +20% ETH or -16.66% USDC

Your position would now be:

  • Supply: 400 ETH

  • Borrow: 300,000 USDC

  • Position Value: 400 - 300,000 * 0.00083 = 150 ETH

  • Profit: 50 ETH (50% profit = Leverage * price move)

Short Position

By going short, a trader opens a position with the expectation that the underlying borrowed (Short) asset will drop in value against the supplied (Long) asset in the future.

Example: Short ETH

Asset Pair: supply USDC & borrow ETH

Price: 1 USDC = 0.001 ETH or 1 ETH = 1000 USDC

Principal: 100,000 USDC

Leverage: 3x

Your net starting position would be:

  • Supply = (Leverage + 1) * Principal = 4 x 100,000 = 400,000 USDC

  • Borrow = Leverage * Principal / price_ETH_USDC = 3 * 100,000 / 1000 = 300 ETH

  • Position Value = Supply - Borrow * price_ETH_USDC = 400,000 - 300 * 1000 = 100,000 USDC

ETH prices moves to $900

New Price: 1 USDC = 0.001111 ETH or 1 ETH = 900 USDC

Price Move: 11.11111% ETH or -10% USDC

Your position would now be:

  • Supply: 400,000 USDC

  • Borrow: 300 ETH

  • Position Value: 400,000 - 300 * 900 = 130,000 USDC

  • Profit: 30,000 USDC (30% profit = Leverage * price move)

Correlated Position

Correlated positions can be defined as FODLs where the supply and borrow asset prices are exactly the same. Correlated positions are a strategy focused on maximizing governance token farming of COMP or AAVE, or other governance tokens with reduced risk of loss due to underlying asset price movements. Specifically, around two USD peg tokens these strategies can be considered risk-averse.

Example: Farm DAI vs. USDC

The aim of such correlated positions with virtually no price volatility risk is to simply farm the governance rewards provided by the underlying lending platform.

Asset Pair: supply DAI & borrow USDC (1 DAI = 1 USDC or 1 USDC = 1 DAI)

Principal: 100 DAI

Leverage: 3x

Your net starting position would be:

  • Supply = (Leverage + 1) * Principal = 4 * 100 = 400 DAI

  • Borrow = Leverage * Principal / price_USDC_DAI = 3 * 100 * 1 = 300 USDC

  • Position Value = Supply - Borrow * price_USDC_DAI = 400 - 300 * 1 = 100 DAI

Last updated