Skip to content

A liquidity pool that provides dynamic underlying assets for option contract market orders on-demand and distributes premiums to pool members

License

Notifications You must be signed in to change notification settings

avoyager/OptionsMarketLiquidityPool

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OptionsMarketLiquidityPool

A liquidity pool that provides dynamic underlying assets for option contract market orders on-demand and distributes premiums to pool members

Problem

One of the biggest issues in DeFi-based options markets is the lack of liquidity in any given strike price range with a variable expiry date. Options are not commonly traded because buyers are not able to find sellers and vice versa. To solve this problem with in the direct swaps market, Uniswap employed automated market makers (AMMs) which could fill the orderbook gaps. However, this is non-existent in DeFi-based options markets.

Solution

To solve this liquidity issue in options markets, we are taking a similar approach that Uniswap made with the automated market maker model. Liquidity is added to pools which whitelist various tokens and provide liquidity on-demand from options market smart contracts to fill option purchase market orders. These options markets have their own direct liquidity for specific strike prices and expiration dates; however, when there is not enough liquidity there, a call is made to this projects' liquidity pools which provide the opposite side of the trade for an enhanced premium, giving the buyer exposure to their desired option while collecting premiums as rewards for providing the whitelisted underlying to the liquidity providers of the option liquidity pools.

Core Features

The primary contract with core functionality can be found in contracts/pool.sol

The primary functions are:

-deposit: Deposit tokens by any user (stablecoins typically though all pools can be different)

-withdraw: Withdraw rewards and percentage of the pool after the expiration of the pool (likely to be 3 month to one year from deposit)

-releaseCapitalAndRewardsForLPClaim: Anyone can call this function which can be triggered after the withdraw date has been met and all possible options have expired.

-swapForAmount: Leverages AMMs (such as Uniswap) to convert the deposit token (stablecoin) to the desired underlying token to accommodate and options purchase order made on the whitelisted options market contract.

-provideCapitalForOptionOrder: This function is called by the options contract, and if the criteria is met, this contract then provides the desired liquidity on the other side to fill an option purchasers order.

Why It's Different From Alternatives

Alternative pools that attempt to accomplish similar results typically have one pool for each type of underlying. There are pools that specific to USDC-DAI pairs, ETH-DAI pair etc, versus the ability (as here) to provide a stablecoin for a variety of pairs in a similar category and take advantage of a variety of premiums over a given liquidity pool-determined period of time.

Further, current liquidity pools do not take advantage of diversification and DAO-based decisions on yield goals that can result in enhanced results for liquidity providers.

What's Next?

We are currently working to add comprehensive tests to this report. Additionally, we are working to add tokenization of the LP Pools so that LP positions can be tokenized and traded on platforms such as Pendle and APWine for fixed yield.

Contribute

We welcome you to contribute to this codebase by forking this project and submitting pull requests to the develop branch. For any questions, comments, or suggestions, we encourage you to reach us in our Discord: https://discord.gg/7fApFnA6qW

About

A liquidity pool that provides dynamic underlying assets for option contract market orders on-demand and distributes premiums to pool members

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Solidity 64.1%
  • JavaScript 35.9%