Glossary

Terms

Arbitrage

A risk-less trade. See this investopedia definition

Automated Market Maker

An onchain contract, or set of contracts, which offers to buy and sell tokens at a price determined by an onchain formula. Often abbreviated to "AMM". Th most popular AMM is Uniswap, which allows users to buy and sell ERC20 tokens onchain without any intermediary. Usually the onchain formula uses some function of the AMM's token reserves to calculate the price. For the Siren Protocol we've written an options trading AMM.

Black Scholes Price Function

A differential equation for calculating an option's price using its strike price, expiration date, and implied volatility. It can also be used to calculate the implied volatility, given its price on the open market. For Siren, we use a Black Scholes approximation discovered by Brennan-Subrahmanyam from their paper "A Simple Formula to Compute the Implied Standard Deviation" (1988). See the Wikipedia page for more details.

bToken

An ERC1155 token representing the long side of an option Series' trade. The SeriesController creates bTokens in SeriesController.mintOptions, and the bTokens can be redeemed using SeriesController.exerciseOption. bTokens always have the same decimals as their Series' underlying token. See the option token section of the docs for a detailed explanation of bTokens.

Call Option

A financial asset which gives the holder the right, but not the obligation, to purchase an underlying asset at a pre-determined strike price. Traders purchase Call options because they think the price will increase in the future. If the underlying asset price increases to more than the strike price, then the trader can profit by exercising the option and selling the underlying token, pocketing the difference between the current spot price and the strike price.

Cash Settled

See the excellent definition on Investopedia

Collateral Token

The ERC20 token used to underwrite an option series. The Siren protocol trades covered calls & puts, which means each option must lock some amount of collateral so that when a trader exercises the option there is no risk of the trader being unable to receive their due.

Covered Options

See the excellent definition of a Covered Call on Investopedia. Covered Puts are very similar, except rather than locking the underlying token into the protocol, we lock the price token (e.g. USDC).

Decimals

The number of leading zeroes in an ERC20 token's balances. For example, USDC has 6 decimals, and so 1 unit of USDC is equal to 1000000. For a TradFi example, the US Dollar has 2 decimals, and so 1 dollar is 100 cents. The decimals field exists only to display ERC20 balances in a way that is easier for humans to read them. See the decimals section of the ERC20 standard for more information.

ERC1155

An Ethereum token standard for representing multiple fungible and non-fungible tokens using a single onchain contract. Siren uses ERC1155 for its option tokens in order to save on gas when creating new Series. Rather than deploy a new contract (as would have to be done in ERC20) for each new option token, the protocol uses a single ERC1155Controller which contains sub-ids for each bToken and wToken. See the EIP description for more details.

ERC20

An Ethereum token standard for representing a single fungible token. ERC20 is by far the most popular standard for representing fungible assets onchain. Many popular protocols, such as Uniswap and Aave, buy, sell, lend and borrow ERC20 tokens. However, when a protocol needs to create a large number of ERC20 tokens, it is more gas efficient to use a standard like ERC1155 because ERC1155 does not deploy a new contract for every token. See the EIP description for more details.

ERC20 Approval

In order for a contract (e.g. the MinterAmm) to call the ERC20.transferFrom function and pull tokens from a user's wallet, the user must first call the ERC20.approve to permit the MinterAmm to pull the tokens. This ensures that a contract is only able to transfer a user's tokens when the user has explicitly given permission for the contract to do so.

Expiration Date

The block time at which a Series will transition from the OPEN state to the EXPIRED state. When a Series is expired its bTokens and wTokens can be redeemed for their locked collateral. But it can no longer be purchased on the AMM.

Implied Volatility

See the excellent definition on Investopedia

In The Money Option

See the excellent definition on Investopedia

Liquidity Providers

Also abbreviated as "LPs". Any account that adds their ERC20 tokens to an AMM pool by calling the function MinterAmm.provideCapital is a liquidity provider. LPs provide liquidity to the AMM so that the AMM can use it to mint and sell bTokens. In return, LPs earn yield from option premiums

Logic Contract

One of the 2 contracts in the EIP-1822 Universal Upgradeable Proxy Standard. The logic contract is the contract which the Proxy delegates all of its function calls to. The logic contract contains all of the state variable definitions and function definitions you want the Proxy to be able to execute. The logic contract holds no state of its own, instead, the Proxy contract contains all of the state data.

LP Token

The ERC20 token a liquidity provider receives for providing capital to an AMM. The LP Token is like an IOU for liquidity providers's collateral token. An LP can burn their LP Token, and receive their share of the AMM's value.

MinterAmm

A contract in the Siren Protocol which calculates option premiums(#premium) for different Series, and exposes functions for buying and selling bTokens. See the MinterAmm section for more info.

Moneyness

Whether or not an option is in the money or out of the money.

Option Redemption

When either a bToken is exercised, or a wToken is claimed.

Option Payouts

The amount of collateral token option token holders receive for redeeming their option tokens. See the SeriesController.getExerciseAmount and SeriesController.getClaimAmount for calculating the payouts for bTokens and wTokens, respectively.

Option Tokens

"option tokens" is an umbrella term used to refer to both bTokens and wTokens.

Owner

Certain contract functions can only be called by the SIREN protocol owner multisig address. This is a Gnosis Safe Multisig contract deployed onchain which acts to manage the parts of the protocol that rely on a trusted administrator. Actions such as creating new Series, creating new AMMs, and upgrading contracts when vulnerabilities in the contracts are discovered. In the future we will transition this permissioned owner address to a DAO account, and the community of SI token holders can directly govern the protocol.

Out of The Money Option

See the excellent definition on Investopedia

Premium

The option price. The price offered by the AMM when buying or selling bTokens or selling wTokens. For the Siren protocol, the price is determined by the Black-Scholes price function.

Price Impact

The price change in response to the trade size relative to the amount of liquidity in the AMM. Larger trades of option tokens will result in a larger magnitude price compared to a smaller trade. This is because the bonding curve used by Siren's AMM, similar to that used by [Uniswap]((https://uniswap.org/)), is a hyperbola.

Price Token

The ERC20 token used to denominate the a Series strike price. This will almost always be USDC, but in the future could be different if we want to denominate prices in something other than USDC.

Pro Rata

Pro rata is a Latin term used to describe a proportionate allocation. When an AMM's pool value is distributed "pro-rata" to LPs, it is distributed in proportion to that LP's share of the total supply of LP Token for that AMM. If Alice owns 10% of an AMM's LP Token, then when she withdraws all of her LP Token then she will receive her pro-rata share (in this case 10%) of the AMM's total pool value. That total pool value will consist of collateral token and option tokens.

Proxy Contract

One of the 2 contracts in the EIP-1822 Universal Upgradeable Proxy Standard. The Proxy contract holds all of the state data, whereas the logic contract defines the state variables themselves and the functions the Proxy delegates to. Splitting the contracts this way allows for upgradeability; when the owner wishes to upgrade the contract, they call a function which points the Proxy contract to a new logic contract.

Put Option

A financial asset which gives the holder the right, but not the obligation, to sell an underlying asset at a pre-determined strike price. Traders purchase Put options because they think the spot price of the underlying asset will decrease in the future. If the underlying asset's spot price decreases to less than the strike price, then the trader can profit by purchasing the underlying token at the spot price and then exercising the option (which sells the recently purchased underlying asset), pocketing the difference between the strike price and the current spot price.

Series

A Solidity struct representing an option with a specific expiration date, strike price, and underlying token. The words "option" and "series" are often used interchangeably throughout the Siren Protocol. Each Series has a pool of locked collateral token which is used to mint bToken and wToken. A Series is identified by its unique seriesId. See the SeriesController.series for how to query individual Series.

Series ID

A monotonically increasing identifier for a Series. The Series ID is used in various protocol functions for interacting with a specific Series. For example, SeriesController.mintOptions. You can access all of the data associated with a Series using SeriesController.series.

Settlement Bot

An offchain process which checks for recently expired Series, and executes the PriceOracle.setSettlementPrice function. This ensures that Series use accurate settlement prices when calculating their [payouts][#option-payouts].

Settlement Price

The token price a Series will use when for calculating its [payouts][#option-payouts] after the Series has expired. This price is set by the PriceOracle using an offchain bot process.

Spot Price

The price of a token on the open market. Spot prices will differ slightly between different exchanges (e.g. Coinbase, Binance, Uniswap, etc.), but tend to remain close to one another because price differences between exchanges represent arbitrage opportunities. The Siren Protocol obtains the spot prices of the various tokens it trades using onchain oracles, such as Chainlink.

Slippage

A change in the execution price due to other transactions (trades, deposits, withdrawals) landing on-chain between the time the user broadcasted their transaction and the transaction getting mined in a block. There is no guarantee on the Ethereum blockchain that a user's transaction will be mined at a particular time, and so transactions from other users may be included in the chain prior to that transaction. These prior transactions can change the balance of reserves in the AMM, and cause the premium paid by the user to change. Slippage is the amount by which the premium changes.

Strike Price

See the excellent definition on Investopedia

Theta Decay

A technical term for how an option's price goes down as time advances towards its expiration date. Theta is one of the [option Greeks] defined as the derivative of the option price with respect to time. The Siren protocol includes an AMM which is aware of theta decay, which allows it to offer correct option prices.

Traditional Finance

A blanket term for all of the institutions, practices, and services in finance prior to DeFi. Wall Street, Goldman-Sachs, The Federal Reserve, and others are all part of TradFi.

Underlying Token

The ERC20 token whose price determines the moneyness of the Series. As the price of the underlying token changes, so does the premium of Series with this underlying token. For WBTC Call and WBTC Put Series, the underlying token will be WBTC.

USDC

A stablecoin pegged to USD. It is an audited and trusted stablecoin used by many DeFi protocols wishing to trade USD onchain, or denominate other assets in units of USD. Visit its website for more info.

WBTC

A stablecoin pegged to the value of 1 Bitcoin. It is an audited and trusted stablecoin used by many DeFi protocols wishing to trade BTC in the Ethereum ecosystem. Visit its website for more info.

wToken

An ERC1155 token representing the short side of an option Series' trade. The SeriesController creates wTokens in SeriesController.mintOptions, and the wTokens can be redeemed using SeriesController.claimCollateral. wTokens always have the same decimals as their Series' underlying token. See the option token section of the docs for a detailed explanation of wTokens.