What is Flex?
A permissionless, customisable options creation and auction protocol
Zeta FLEX is a permissionless options creation protocol which allows anybody to create a limitless variety of tokenizable options with flexible strikes, durations, exercise formats and underlyings.
FLEX provides an easy interface for creating, trading, and redeeming DeFi options.
This is ideal for options vaults and DAOs who want to monetize risk on their assets.
If you hold zFLEX options in your wallet, you can view them via the link below:
The Zeta FLEX auction program also has a typescript SDK available to interested parties.
Zeta FLEX options contract work as follows:
- Option tokens are minted when the vault owner deposits the full collateral into the Zeta FLEX smart contract.
- The minter specifies an underlying which is validated against a list of underlyings that are whitelisted on the Zeta platform, ensuring that only legitimate token mints are paired with each underlying.
- Each options contract has a flexible multiplier dependent on the precision of the underlying token mint (precisely, each option will have a multiplier of 1/(token decimal precision - 5).
- Cash settled options contract have a reference an oracle feed that is defined at the time of mint and fixed for the life of the option.
- Each option will be represented as an spl-token, with the quantity of spl-tokens equal to the quantity of the underlying that the option represents.
- During the life of the option, option tokens are completely tradeable between parties and represent total ownership of the options contract.
- During the life of the option, option positions will appear on the positions tab within Zeta FLEX’s frontend, verifying ownership.
- Each option will expire to the instantaneous Pyth print at the settlement period, captured by a permissionless keeper instruction. A keeper is able to lock in the expiry price as the observed price on the Pyth feed +/- 60 seconds around the time of expiry.
- Each option additionally contains an override function in the case of network congestion or a settlement print dispute, where administrators are able to override the settlement print on mutual agreement between the seller and buyer of the option.
- On expiry, owners of the option contracts are able to redeem the expected payout on the Zeta FLEX frontend. There is no time limit to redemption of the option.
- Zeta FLEX allows users to mint and use Solend's interest-bearing cTokens as collateral. These tokens are depositary receipts which are redeemable for vanilla tokens which will accrue value through time.
- Users can mint European, cash-settled calls using cTokens as collateral. These calls will function as cToken/USD calls and will settle to the expiry price of Token/USD * the CToken/Token ratio at expiry.
- Users can mint European, cash-settled puts using cTokens as collateral. These puts will function as Token/cUSD puts and will settle to the expiry price of Token/USD * the USD/cUSD ratio at expiry.
- Please note that Zeta FLEX's frontend will display strikes for the cToken/USD and Token/cUSD pairs and will not convert them to the equivalent strikes for Token/USD.
Physically settled options
- Zeta FLEX allows users to mint physically settled options, which allow the owner to swap one asset for another at a pre-determined strike and within a specified expiry window.
- Users will define an asset pair and a strike when minting a physically settled option, as well as an expiry time and exercise window length.
- The exercise window determines the length of time from expiry in which the option holder can exercise their options.
- During the exercise window, owners of the option(s) can choose to exercise their right to swap assets at the predetermined strike price.
Zeta FLEX’s initial auction process will be as below:
- Auctions on Zeta FLEX are started by any option token owner by specifying the token to auction, a bid start time, bid end time, and cooldown time.
- Zeta FLEX’s auctions specify a bid currency which is a token that all bids must be denominated in.