InitializeMarket
instruction. Each market is governed by specific parameters that determine its fungibility. Those parameters include:MintCoveredCall
instruction. It is extremely important to note that although this instruction contains the phrase Covered Call in the V1 protocol, all contracts can be considered covered calls. PUTs are simply the reciprocal of a CALL, and all of V1's markets require 100% collateral upfront. More can be read here.โunderlying_amount_per_contract
plus a 5bps minting fee. This small fee will go to the PsyOptions treasury and will be adjustable (or removable) via governance. So the total underlying assets required to mint 1 contract is:underlying_assets_required = underlying_amount_per_contract + (underlying_amount_per_contract * 0.0005)
quote_amount_per_contract
should anyone exercise and the Quote Asset Pool contains enough of a balance. Post expiration, the WriterToken gives the holder the ability to claim the underlying_amount_per_contract
back from the Underlying Asset Pool.ExerciseCoveredCall
instruction. To exercise we must post the OptionToken held and the quote_amount_per_contract
plus a 5bps fee. This small fee will got to the PsyOptions treasury and will be adjustable (or removable) via governance. So the total quote asset that must be posted isquote_assets_required = quote_amount_per_contract + (quote_amount_per_contract * 0.0005)
quote_amount_per_contract
to the market's Quote Asset Pool, and transfers underlying_amount_per_contract
to the exerciser's address.ExchangeWriterTokenForQuote
instruction. The user must post the WriterToken. The protocol will burn the WriterToken and transfer the quote_amount_per_contract
to the writer's wallet.underlying_amount_per_contract
. This is done through the ClosePostExpiration
instruction.ClosePosition
instruction comes in. This instruction requires you to have both the OptionToken and the WriterToken. At any point (pre or post expiration) if a wallet calls this instruction with the correct token pair preset, it will receive the underlying_amount_per_contract.
The protocol checks and burns both tokens and then transfers the underlying assets from the pool to the wallet.