Carbon Loophole

Is it worth it to pre-retire carbon before selling carbon to the protocol?

Selling Carbon at a Premium

When a users plans to sell carbon to the protocol, it is often very lucrative to retire almost all the carbon that’s already in the portfolio beforehand.

Let’s look at an example where the initial kVCM supply is  tokens with a unit price of $.

A user wants to sell  tCO2eq from a carbon class  with   tCO2eq in the portfolio, for which the allocations are   and  .

Normal Sale

Selling the carbon directly causes a relative change  + in the portfolio.

From Equation (19), we can compute the amount of kVCM tokens minted from the sale as  +, or about  kVCM tokens.

With a token price of $, this means the users earns $

Pre-Retirement

Before selling, the user decides to retire  tCO2eq. This is causes a relative change  − in the portfolio.

From Equation (22), we can compute the amount of kVCM tokens burnt for the retirement as  −, or about  kVCM tokens.

With a token price of $, this means the users pays $

Boosted Sale

The user executes the sale after the retirement, which means at the time of the sale there are   tCO2eq in the portfolio. This boosted sale causes a relative change  + in the portfolio.

We compute the amount of minted kVCM tokens as  +, which is about  kVCM tokens.

With a token price of $, this means the users earns about $

Pre-Retirement + Boosted Sale

How to Prevent this Scenario?

The protocol works in phases. There is always a phase between a retirement and a consecutive sale where users are aware of the current supply and are able to modify their allocations for that class.

Users can defend themselves by dropping their kVCM allocations between the retirement and the consecutive sale: this which will correct the price before the attacker is able to extract value.

Interactive Simulation