KittenSwap (7) : AMM for Lending+Option by Minting Option Tokens using Put-Call Parity

1. From Put-Call Parity to Lending

Consider the famous put-call parity:

  • Keep (i) to yourself. Because it is a call option, you can payback 3 ETH to get back 100 TOKEN.
  • Find a lender to take (ii) + (iii) from you. The lender will pay you probably 2.9 ETH. We will create an AMM to determine this value dynamically.
  • After 2 weeks, the lender will either receive 3 ETH (if 1 TOKEN ≥ 0.03 ETH), or 100 TOKEN (if 1 TOKEN < 0.03 ETH).

2. Pricing K by an AMM

K shall be priced using market forces (supply and demand), instead of any simple formulas. Although the price of K can be understood using Black-Scholes, what we care more is its implied volatility.

  1. Price(K) ≤ 0.03 ETH. In fact, the price of K shall be lower than 0.03 ETH discounted by interests, because you can only receive 0.03 ETH on Apr-14-2021, which is in the future (here we assume the interest rate of TOKEN is lower than the interest rate of ETH).
  2. If TOKEN trades at a much higher price than 0.03 ETH, then Price(K) will rise with time, and reach 0.03 ETH at expiration. It is similar to the price of a zero-coupon bond.
  3. Price(K) ≤ Price(TOKEN).
  4. Price(K) ≥ 0.
  5. Price(K) = MIN(0.03 ETH, Price(TOKEN)) at expiration. Because K will be settled at this value, unless some borrowers make mistakes (in that case lenders will have more profit).

3. Minting Option Tokens

We can use the same method to do option+lending for any pair.

  • Deposit ETH to mint [CALL ETH @ 1000 USDC per ETH] + [SELL PUT ETH @ 1000 USDC per ETH] + [BORROW 1000 USDC per ETH].
  • Deposit USDC to mint [CALL USDC @ 0.0005 ETH per USDC] + [SELL PUT USDC @ 0.0005 ETH per USDC] + [BORROW 0.0005 ETH per USDC].
  • Deposit USDC to mint [PUT ETH @ 2000 USDC per ETH] + [SELL CALL ETH @ 2000 USDC per ETH] + [BORROW 1 ETH per 2000 USDC].



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store