How does Charm work?

Tom
Charm

--

Charm is a breakthrough Automatic Market Maker (AMM) that can create liquid options on the blockchain. By applying a prediction market scoring rule to the options world, we have invented a new model for options creation, pricing, trading, and settlement. This model powers a new type of AMM that can offer cheap options and higher profits for traders, and lower risk for liquidity providers (LPs).

A detailed illustration of the Charm protocol can be found in our litepaper. The purpose of this article is to provide further details on how options are created, priced, traded, and settled at Charm. The infographic below provides an overview:

1. How are options created at Charm?

Charm offers European-style call options, put options and covered call options — they can be traded and settled, and behave in the same way as options you see elsewhere. Options are created by Charm’s AMM using the following mathematical properties*:

* The events resulting in each option being profitable (or in-the-money) are analogous to the outcomes of events in a prediction market, where the sum of the probability of each outcome is equal to 1. For example, for a given strike price and maturity, the total probability of a call option being in-the-money, and a covered call being in-the-money is always equal to 1.

As a starting point for price discovery, the price of an option will be initially determined by Charm using prices for similar options at Deribit. Seed LPs can then supply liquidity by buying calls and covered calls that add up to the value of ETH they deposited, or puts and covered calls that add up to the USDC value. This allow LPs to earn yields without market risk. For example:

If an LP wishes to supply 1 ETH of liquidity and a call option costs 0.05 ETH, 0.05 ETH will be used to buy call options, and 0.95 ETH to buy covered calls. Charm will mint these options for the LP, and their combined payoff will ensure they will only be exposed to the price of 1 ETH, and not to the price of the options. The LP will earn yields from trading fees, or from Charm tokens (to be announced at a later date).

Any subsequent changes in price will be determined dynamically by supply and demand, which results in cheap options for traders (described further in section 3). In addition, the total value of the LP’s holdings will always lie between a narrow range, which results in smaller worst-case loss for LPs (described further in section 2).

2. How are options priced at Charm?

To price options, Charm uses a scoring rule frequently found in prediction markets. This rule is not a static formula (eg Black Scholes), an approximation (eg Black’s approximation), or a model (eg Binomial Trees); It is instead a price function that aggregates the collective wisdom of all traders, based on the total supply and demand of an option.

This approach was chosen because aggregating market views to better predict outcomes, have been successfully applied in many areas ranging from Google search engines, to US elections.

To apply prediction markets to options, Charm uses a price function (described in Othman et al) derived from the LS-LMSR cost function (described in our litepaper). The inputs to this function are the quantities of options traded at Charm, and our litepaper provides a numerical example of how the quantities are translated into prices.

This price function was chosen because:

  1. The sum of the prices calculated by the price function for each option pair, is always slightly larger than 1. This means there will always be enough ETH or USDC held by the AMM to return to sellers after a sale, or to meet settlement payouts.
  2. The sum of the prices will also lie between a narrow range, which means an LP who holds these options will suffer a very small worst case loss. This is in contrast to other AMMs (eg Uniswap), where the worst-case loss (aka the impermanent loss) is unlimited.
  3. The price function guarantees that prices respond to ratios rather than absolute value. This means market depth will improve automatically as trading volume increases.

After the price of options are determined by Charm, all subsequent price movements will depend entirely on the quantity of each options bought or sold. Numerical examples are provided in our litepaper.

3. How are options traded at Charm?

Traders can buy or sell options at any time, as illustrated below:

A trader wants to buy 0.1 ETH worth of call, and the Charm cost and price function calculates that 2 calls can be purchased at a price of 0.05 ETH. This offer is quoted to the trader and if they agree, Charm will mint 2 calls to give to the trader, in return for 0.1 ETH. The trader can sell their calls at any time, and the Charm cost and price function will ensure there will always be enough ETH to return to the trader, even if the price of call have increased to 0.1 ETH — this is explained further in the paragraphs below.

Unlike other DEXs with similar functionalities, Charm works in a completely different way. The key differences and their benefits for trader are summarised below:

  • The price of an option is always between 0 and 1 for the calls market, and 0 and the strike price for the puts market. The higher the price, the higher the probability that option will be profitable on expiry date. For example, as more calls are being bought, the call price will increase, which indicates the market’s belief that calls are more likely to be profitable on expiry date.
  • The price of calls and covered calls with the same strike price and expiry date, will move in opposite directions due to the equations in section 1. This means a higher price for calls will imply a lower price for covered calls, and vice versa. Puts and covered calls (or short puts) follow a similar reasoning.

The properties above are what allows price discovery to take place using only supply and demand. This allows Charm to offer cheap options without adversely affecting the options’ fair value.

The second property also means Charm can support a simple and efficient front end, that allow users to trade quickly and easily.

  • For a given trade size, the slippage decreases as the total trading volume increases.

This allows Charm to offer cheap options at larger trade volumes.

  • Even though Charm only offers European options, users can realise their profits at any time by selling their options.

Option holders can therefore profit from both the intrinsic and time value of options, and they do not need to wait until expiry date to receive the benefits.

4. What happens on expiration?

As described in section 2, the Charm price function ensures there will always be sufficient ETH or USDC held by the AMM for settlement purposes. On settlement date, the payoffs are calculated by the AMM, and collected by the user in the following manner:

  • To exercise an option, the settle() method can be called by anyone to fetch the settlement price, and the profits will be calculated for everyone using the relevant option’s payoff profile, as illustrated below:
Where K = Strike Price in USDC, S = Settlement Price in USDC
  • Each option holder can call a redeem() method at any time to collect their payoff, which will also trigger the smart contract to burn their options. There is no need to worry about forgetting to exercise on expiry date, as in-the-money options are automatically exercised and the payoff can be collected at any time.

Conclusion

Charm is a breakthrough AMM that can create liquid options on the blockchain. It works in a completely different way and offers a range of unique benefits for both liquidity providers, and for traders. In our next article, we will provide further details on these benefits, and compare them against the benefits of other decentralized option protocols.

Join our growing community on discord, or twitter for all the latest info.

--

--