Any on-chain options protocol must have a set of contracts for managing the lifecycle of the options it trades. For SIREN we call this the Settlement Layer (SeriesController in the arthitecture). By calling the contracts in the Settlement Layer, a user can create covered calls/puts, close out existing positions, and redeem their option tokens.
The SIREN AMMs use the Settlement Layer to mint and sell options to traders. Without the Settlement Layer, the AMMs would have no method for tokenizing the long and short sides of an option, and there would be no market for options!
The most important concept in the Settlement Layer is the series. A series represents an option for a certain underlying asset ($UNI, $SUSHI, etc.), at a certain strike price, and with a certain expiration date. Using the Settlement Layer the SIREN Team creates new series based on community and market demand.
Each series is associated with an AMM that trades the series’ underlying asset. The AMM mints and sells bTokens (representing the buyer's side of the trade) and holds wTokens (representing the writer's side of the trade).
The next section explains the major flows of the Settlement Layer’s contracts.
The process is the opposite to Minting.
1 bToken + 1 wToken always equals 1 unit of Collateral_Out ($UNI, $SUSHI, etc.).
A user selects a series and inputs the # of contracts to be closed.
The user pushes the Close button on the right panel on the Portfolio tab.
The AMM burns the equal amount of bTokens and wTokens (according to the # of contracts) for the respective series.
The SeriesController removes the unlocked Collateral_Out from the SeriesVault and sends it to a user's wallet linked (Metamask, etc.).
SIREN Protocol supports only European style of options so an exercise can be done only after expiry.
A trader selects a series to be exercised.
The trader pushes the Exercise button on the right panel of the Portfolio tab.
The AMM burns the expired bTokens of the respective series from a trader's wallet.
The Exercise_Payoff (amount of payment tokens ($USDC) to be received by the trader) equals the Exercise_Price minus the Strike_Price.
The SeriesController sends the Exercise_Payoff from the SeriesVault to the wallet.
NOTE: Only ITM options exercise results in Exercise_Payoff
An LP selects the series they wish to claim the collateral from.
The LP pushes the Claim button on the right panel on the Portfolio tab.
The AMM exercises any expired bTokens it holds.
The protocol claims collateral from all the expired wTokens for the respective series.
The AMM burns the expired wTokens from a LP's wallet.
The SeriesController sends the claimed collateral from the SeriesVault to the wallet.