Call Option Flow

The process of making a call option includes minting it, trading it, settling it, and distributing the proceeds.

Minting

Minting can happen via 3 methods:

  • mintWithEntitledVault Mints an option based on a vault where an entitlement entitling the option instrument that expires at the option expiration is already in place.

  • mintWithVault Mints an option with an asset placed in a vault serves as the underlying. The signature allows the option instrument to place a relevant entitlement on the vault
    is passed by the caller.

  • mintWithErc721 is a convenience method that allows the user to approve the call option to transfer an NFT and then the protocol manages the creation of the option and the
    entitlement on their behalf.

When the option is minted, the internal state is updated to track the parameters of the option, and an option NFT is minted into the writer's wallet.

Trading

The protocol does not address how option NFTs are traded between accounts. In particular, a user may want to sell the option NFT minted to their wallet when they mint the option
in order to earn a premium for selling that right.

Successful Auction

At a configurable time prior to expiration, the settlement process begins by allowing anyone to submit bids for the underlying asset. The bids must be higher than the
strike price.

If these bids are received, after expiration anyone can permissionlessly call the settlement function. This function will distribute the auction proceeds (strike price to
the writer, (high bid - strike price) to current instrument NFT holder) and burn the option instrument nft.

At this point, the new beneficial owner of the asset can withdrawal that asset from the vault or utilize the mintWithVault function to mint a new option based on the
already vaulted asset.

Reclaim active Auction

If the writer wishes to withdraw the underlying asset from an active option, they first must obtain the option instrument NFT and transfer it to the writer account.
Then, they may call the reclaim function, which will release the entitlement on the vault, return any active bids to the bidder, and burn the option NFT.
They may then either withdrawal the asset from the vault or mint a new option with it.

Failed Auction

If the option expires with no bids, the owner is still the beneficial owner of the underlying asset contained in the vault. They may withdrawal the asset, or they may mint a new option
using the mintWithVault function.