Building Call Options on UMA (Part 4)
TL;DR : The call option series of articles continues with the inclusion of BAL and UNI call option tokens to accompany the existing XSUSHI and UMA tokens. The new BAL and UNI tokens have been minted and pooled with their respective tokens and on their respective exchanges.
You can now choose to trade from the menu of decentralized call option tokens below which includes all your favourite Ethereum based DEX’s along with UMA.
These call option tokens can be minted using MySynths.finance which is a community created dApp that won UMA’s recent bounty. If you are bullish $BAL you can buy BALc90–0521 for leveraged, limited downside exposure on a rally. If you are a holder of $UNI and want to collect premium while you wait to take profits then you can mint UNIc50–0521 and sell it. This demonstrates how useful call option tokens can be for the DeFi community and how easy they can be created using UMA’s infrastructure.
The Balancer community along with the UMA community have proposed to use Balancer’s ecosystem fund to provide liquidity for the $BAL call option tokens. This has gathered a lot of support and should hopefully move forward soon.
The same ideas and concepts from our first article are used to build these two call option tokens. As a refresher, a call option gives the buyer the right, but not the obligation to buy an asset at a specified price (strike) and a specific time period (expiry). These call option tokens both expire on May 31st, 2021 and the strike price for $BAL and $UNI are respectively 90 USD and 50 USD. The call option tokens are named BALc90–0521 and UNIc50–0521. They are quoted versus their underlying token and can be pooled on any AMM (Automated Market Maker).
Similar to how the UMA call option tokens were constructed, these new token options use UMA’s Expiring Multi Party (EMP) contract and take advantage of the financial product library feature. As long as the collateral and price identifier is approved, no new UMIP or governance vote is needed to create these call option tokens. Developers can easily create a call option with any strike and with any approved collateral by simply designing their own library contract and with no need for a governance vote. As a reference, the collateral and price identifier needed for these call options were all approved under the following UMIPs.
The design of these call option tokens imply a few things:
- Token sponsors do not need to manage their collateral ratios as it remains static for the life of the contract at 1 underlying token per 1 call option token.
- There will be no liquidation bots necessary and the ability to withdraw collateral or liquidate a position will effectively be disabled as the liveness period for these actions are set to extend beyond expiry. Users should not test these actions for their own safety. Of course, redeeming a token to retrieve locked collateral will still function as normal. As extra safety, the UMA team will run monitor bots to alert us of any accidents or abnormal activity.
- These call option tokens are “European Options” which mean they can only be exercised at expiry. There will only be one price request needed at expiry to settle the token. Also, with the new design of our optimistic oracle, settlements can happen just 2 hours after expiry if there are no disputes.
- The payout function in the Settlement Price implies “cash settlement” which means the token sponsor of the option will settle any profit due to the token holder, rather than take payment from the token holder for transfer of tokens.
Leveraged Bullish Bet
Alex is bullish $BAL after reading about their upcoming Balancer v2 launch and decides to buy some BALc90–0521 call option tokens
- $BAL currently trades at 65 USD and the price of BALc90–0521 is 0.10 $BAL or $6.50 (65*0.10)
- Alex buys 1,000 BALc90–0521 for 100 $BAL or $6,500 (65*100). She now has leveraged upside exposure to $BAL.
On May 31st, 2021
- If BAL/USD settles at 120 USD, Alex receives 250 $BAL [1000*(120–90)/120]. This is a profit of 150 BAL (250–100) or $18,000 (150*120).
- If BAL/USD settles at 89 USD, Alex receives nothing. This is a loss of 100 $BAL or $6,500 which is the original premium she paid and the most she can lose.
Target Profit Taking and Income While You Wait
Brad owns $UNI and is looking to take profits if it trades well into the Uniswap v3 launch. He decides to mint some UNIc50–0521 and sell them.
- $UNI currently trades at 40 USD and the price of UNIc50–0521 is 0.10 $UNI or $4.00 (40*0.10)
- Brad deposits 1,000 $UNI as collateral and mints 1,000 UNIc50–0521
- He sells them for 100 $UNI or $4,000 (40*100). He earns this premium upfront and leaves his position and just waits till expiry.
On May 31st, 2021
- If UNI/USD settles at 80 USD, Brad owes the call option token holder 375 $UNI [1000*(80–50)/80]. After he settles his position he would receive 625 $UNI (1000–375).
- This is the equivalent to him selling his $UNI at 50 USD (50*1000 = 80*625).
- However, he actually earned a premium of 100 $UNI for selling his call option token so net he was actually returned 725 $UNI (625+100) which would be the equivalent of him selling his $UNI at 58 USD [(725*80 )/1000]
- If UNI/USD settles at 49 USD, Brad owes nothing to the call option token holder and is returned his 1,000 $UNI in whole.
- He also keeps his 100 $UNI (now worth $4,900 (49*100)) as extra income
As long as Brad is comfortable with taking profits at 50 USD (or in this case 58 USD) and not worried about a significant drop in $UNI then this strategy appears optimal. He either sells at 58 USD which is 45% (58/40–1) above the market or earns 10% in 1.5 months (~80% APY).
UMA’s infrastructure allows anybody to easily and quickly build a decentralized call option with any underlying asset. With the new EMP contract, as long as the collateral and price identifier is approved by the UMA community, there is no governance vote needed to design and launch options with any desired strike and expiry. DeFi treasuries can easily use the large number of their own idle governance tokens to create this liquid call option tokens market for the benefit of their community. We are happy to see SushiSwap take advantage of this opportunity to support their $XSUSHI call options and look forward to the Balancer community finalizing details to provide liquidity for their $BAL call options as well. We will continue to gather feedback from the DeFi community and use the data from all these call option tokens to improve and develop for the future.
Interested in building your own options? Join discord.umaproject.org
BALc90–0521 Token Address
BALc90–0521 Contract Address
BALc90–0521 Balancer Pool
UNIc50–0521 Token Address
UNIc50–0521 Contract Address
UNIc50–0521 Uniswap Pool
Financial Product Library Deployed Contract
Financial Product Library Code