Skip to main content

Workshop and office hour notes


Why lend/borrow?#

  1. Short eth:
  • Deposit USD in Aave
  • Borrow ETH from Aave
  • Sell the borrowed ETH into USD
  • ??? wait for prices to drop
  • Buy back the ETH at lower price
  • Profit!!
  1. Levered long eth:
  • (have usd) Buy ETH โ†100% exposure to ETH
  • Deposit ETH in Aave (100$ worth of eth)
  • Borrow USD from Aave (70$ worth of eth)
  • Buy ETH with borrowed USD
  • ??? wait for prices to go up
  • Sell the ETH at higher price
  • Profit!!
  1. Yield arbitrage between markets


Res A amount worth the same as Res b amount worth

e.g. pool containing 1000 USD and 2 ETH โ‡’ 1 eth is worth 500 usd

Invariant: amount a * amount b = constant โ€” (xy = k)

I will deposit 1000 usd, and withdraw x eth. What is x?

2000 USD * 2-x ETH = 2000

x = 1 eth

^ no fee example example of a third party UI (front-end) that directly interacts with other protocols' smart contracts (backend) "Identify opportunities before everyone else" when collateral value drops so quickly, the system becomes undercollateralized

Week 2 workshop 1: Flash Loans#

Definition: A loan that is paid back (sometimes with fee), within the same transaction.

Use cases#

  • Reduce transaction complexity: Leveraging / deleveraging a loan, changing a loan's composition (collateral, refinancing, etc)

Deposit 100$ into Aave โ€”> $80 borrow power Borrow $80 worth of ETH, and deposit it back into aave โ€”> $100, $80 in eth, and I owe $80 in eth โ€”> $64 borrow power remaining

Flash loan a large amount of $, deposit it into aave โ€”> 80%  of a large amount borrow powerBorrow end amount โ€”> 
Aave pool has 50% collat ratio:
deposit 1, borrow 0.5, deposit 0.5, borrow 0.25, ... โ†’ 2 in collateral, and 1 in borrow
Flash loan X, deposit X+1 into aave, borrow 1, withdraw X-1 โ€”> 2 in collateral, 1 in borrow, (end up with X in my wallet) โ€”> Repay flash loan of X.
  • Democratizing arbitrage and liquidations โ†’ (MEV)

Market 1: buy 1 ABC for 100000Market2:sell1ABCfor80000Market 2: sell 1 ABC for 80000

buy from market 2, sell on market 1 โ€”> $20000 profit (you need $80000)

Stablecoins USDC, USDT, DAI, ...

Hacks / Protocol Vulnerabilities#

Naively calculated on-chain prices can be manipulated within a transaction.


deposit ETH โ†’ djETH

deposit USDC โ†’ djUSDC

allow you to swap djETH โ†” djUSDC for a price. That price is uniswap's ETH-USDC pool price.

Uniswap ETH-USDC spot price = amount of ETH / amount of USDC

E.g. 2 eth, 100 USDC โ†’ 1 eth is tradeable for 50 USDC.

I want to buy 1 eth โ†’ (2-1) (100 + X) = 2 100 โ†’ X = 200 - 100 = 100$ per eth.

Need to pay 100 USDC to buy 1 ETH.

I want to buy 1.5 eth โ†’ (2-1.5) (100 + X) = 2 100 โ†’ X = 200/0.5 - 100 = 300.

I want to buy 0.0000001 eth โ†’ 50$ per eth (spot price)

Flash borrow 300. Buy 1.5 eth from uniswap pool โ†’ uniswap pool 0.5 eth, 400 USDC (spot price 800$ / eth)

Swap 100 djETH for 800 * 100 = 80000 djUSDC.

Sell 1.5 eth into uniswap pool, get 300 USDC back โ†’ uniswap pool 2 eth, 100 USDC

Pay back my 300$ flash loan

  • Price oracle (chainlink)
  • use TWAP prices
  • sprinkle fees around

Implementation details#

Aave Flash Loans Loan - Batch/MyV2FlashLoan.sol

File 52 of 79 : LendingPool.sol

Aave charges 9bps for the flash loan (quite expensive, considering Curve's 3pool charges 3bps for a swap!)

Exercise: Find an example in the wild through Dune Analytics#

Office Week 2 Hours 1#

On the topic of axie infinity:

Week 2 workshop 2: Synthetics#

Synthetics are a subset of derivatives. It usually means a "delta one" derivative. I.e. the synthetic asset tracks the underlying asset almost 1-1.

Why even have synthetic assets?#

  • Underlying asset is difficult to acquire or trade
    • Foreign stocks, complicated rules (e.g. dividend tax treatment across countries)
    • New exchange
    • Small float
  • Example synthetics in tradfi: ADRs, futures, swaps,
  • Different way of leveraging (more capital efficient)
  • Stablecoins are a type of synthetic asset

How do synthetic assets work?#

Perpetual contracts:



Kwenta is the UI to trade between s-assets.

How do trades work?

  • What determines trade price?
  • What's the trade fee?
  • What's the market impact?
  • Who is your counterparty?

Twitter thread on doubting yourself when trading: