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:
Zeta Flex 💪
View options you hold by connecting your wallet
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.

European Contract (Payout)

Either of:
  • European, Cash Settlement to instantaneous oracle print at time of expiry (Not TWAP)
  • In the case of cToken options, settlement will be to the instantaneous oracle print at time of expiry, scaled by the live ratio of cTokens to regular tokens.
  • Manual expiry print provided by the option owner
Option Payout (Calls)
Inverse Options Contracts (Deribit Style) paying out ((settlement price - strike ) / settlement price) units of the underlying (base currency) on settlement if the option is in the money. E.g. a BTC/USD 20,000 strike call with expiry print 30,000 will pay out (30,000-20,000)/(30,000) = 1/3 BTC to the buyer of the contract at expiry. Payout is determined by the price of the Pyth oracle at expiry to 0.1 basis point of precision.
Option Payout (Puts)
Regular Options Contracts paying out (strike - settlement price) units of the quote currency on settlement if the option is in the money. E.g. a BTC/USD 30,000 strike put with expiry print 20,000 will pay out (30,000-20,000) = 10,000 USD(C/T) to the buyer of the contract at expiry. Payout is determined by the price of the Pyth oracle at expiry to 0.1 basis point of precision. * Please note that the multiplier for the put option contract is 1/(strike price x 10) * Another representation of the put options contract is that each option is collateralized by $0.1, paying out $0.1 x (%ITM amount of the option). * E.g. if the SOL 125 put was sold 10_000x and SOL finished at 100, each put option would pay out (125-100)/125 x $0.1 = 20% x $0.1 = $0.02. Meaning that the total payout would be 10_000 x $0.2 = $200. * This can be also represented as each option having a multiplier of 1/(125 x 10), paying out 10_000 x $25/1250 = $200.
Pyth oracle XXX/USD feed.
  • 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.
cTokens (Solend)
  • 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.
Bid Period
  • During the bid period, market makers are able to submit all or none bids for the entire auction size.
  • Market makers are able to cancel existing bids during this time period.
  • A bidder may only have 1 active bid at a time, to amend bids they must cancel any existing bids first.
  • These bids are required to be pre-funded and bid size will be escrowed upon placement.
  • Bids can be viewed by all parties including other bidders - the auction is lit.
No Cancellation Period
  • During this period, market makers are unable to submit new bids and also unable to cancel existing bids.
  • The auction owner has the ability to select a bid to sell to during this period which will end the auction process.
  • After the end of the cooldown period, bidders can cancel all bids and take back the collateral locked.
Additional Details
  • Auction owner is able to cancel the auction process at any time.
  • Auction owner is able to exercise discretion in the bid that they choose to match against on settlement.
  • Market makers will be able to manage bids programmatically or through Zeta FLEX’s frontend.