Wicked

Currency hedging made easy. Create / Trade / Settle tokenized long / short positions on exchange rates.

Description

This project implements a web interface that allows the user to on-chain derivatives for currency-hedging / speculation. Before the expiry of a contract a user can: 1. Deposit collateral into the contract to generate long / short tokens representing the long / short position on the given currency exchange rate 2. Retrieve collateral by burning equal amounts of long / short token At the time of expiry the user can: 1. Request a settlement price for the given contract (only needed to be done by a single user once) Once the price oracle (see details below) has settled on a price the user can: 1. Settle arbitrary amounts of long or short tokens to retrieve the collateral amount allocated to the respective position based on the oracle response Since both long and short positions are represented by ERC-20 tokens they can be traded / transfered at will. Once a liquid secondary market for these contracts has been established (e.g. on uniswap) taking a long / short position is as simple as buying one of these tokens.

Wicked showcase

How it's made

The main technology we used were UMA's Long Short Pair (LSP) contracts in particular the Linear version which is configured using an upper / lower price bound. The higher the value of the Pricefeed returned by the "Optimistic Oracle" at time of expiry is the more collateral is going to be allocated to the long token and vice versa. Due to the design of the LSP contracts this setup does not need any Liquidation mechanism making the whole workflow a lot easier and less risky for Liquidity Providers (Token Sponsors).

Technologies used

HardhatLiquityMetaMaskUMA