Klima 2.0

Author

The Dark Sole Enterprise Ltd
with contributions from Klima Foundation and Carbonmark

Published

13 Oct 2025 (Version 1.45)

Abstract

An Autonomous Asset Manager incorporating asset pricing, liquidity and time-locked markets powered by a dual token structure designed for efficient and rational decentralised liquidity within the carbon credit asset class.

Klima Protocol Logo.

Copyright Notice

This document represents original work by dark_sole . While contributions from others are gratefully acknowledged, all intellectual property rights remain with the author. The models, algorithms, processes, products, methodologies, and concepts described herein are licenced exclusively for commercial use by Klima Foundation. No other party may implement, copy, modify, or derive works from these materials without explicit written permission from the author.

© 2025 dark_sole. All rights reserved.

1 Prologue

Klima 2.0 is an autonomous capital system for the carbon asset class. It is neither a conventional token nor a traditional protocol, but rather a continuously adaptive financial structure governed entirely by endogenous signals and risk-weighted economic inputs.

The system is based on a dual token architecture: kVCM, representing capital and asset exposure, and K2, reflecting systemic risk preferences. Together, these tokens structure the internal market dynamics without the need for oracles or discretionary oversight. This architecture enables the system to:

  • Systematically select and price tokenised carbon credits,

  • Construct and maintain a forward-yield curve derived from on-chain capital commitments,

  • Govern portfolio allocation, liquidity provisioning, and incentive distribution through deterministic smart contract logic.

All token holder actions – locking, allocation and staking – serve as inputs to a reflexive coordination mechanism. kVCM governs the allocation of capital to carbon assets, while K2 parametrises the system’s risk assumptions and pricing capacity. This interaction defines a synthetic balance sheet where capital value, risk spread, and yield formation emerge from collective participation.

The platform consists of three interdependent components: the Portfolio Manager, which acquires and retires carbon assets; the Time-Locked Market, which generates a time-structured synthetic yield curve; and the Liquidity Market, which facilitates price discovery and capital flow across kVCM, K2, and external currencies. These mechanisms are interlocked by design, enabling the system to continuously seek equilibrium.

Klima 2.0 abstracts complex market operations into a formal economic structure that integrates asset management, governance, and liquidity within a single protocol. kVCM offers structured exposure to carbon markets through tokenised yield and asset ownership, while K2 modulates this exposure in response to endogenous risk metrics.

In this model, staking constitutes an economic vote; liquidity provision informs portfolio capacity; and yield is an emergent function of structural configuration. The system is designed to operate without exogenous intervention, maintaining equilibrium through adaptive incentive distribution and real asset correlation.

Klima 2.0 is a closed-form capital system with embedded governance and economic reflexivity, capable of continuously modelling and adjusting its internal state through its own token dynamics.

2 Klima 2.0

KlimaDAO launched in 2021 on the Polygon blockchain as a fork of OlympusDAO. The original system centred on the KLIMA token backed by a treasury of carbon credits. At its peak, the KLIMA token exceeded a one-billion-USD market cap and brought over 20 million tonnes of carbon credits on-chain through incentives and governance.

Supporters agree that voluntary carbon markets benefit greatly from tokenisation and on-chain liquidity. This brings transparency, price discovery, accessibility, interoperability, programmability, and faster settlement for brokers and buyers. These benefits are proven by dozens of production-grade platforms and services built by Klima and partners after launch, including:

  • Integrations with major carbon registries.
  • Marketplaces, storefronts, and point-of-sale tools.
  • REST APIs for seamless integration into third-party apps.
  • Direct blockchain issuance by major project developers.

All of these products are powered on KlimaDAO’s tokenised carbon and liquidity, with measurable adoption. This makes the KLIMA token a leading case study for the adoption of tokenised Real World Assets.

Still, after years of iteration it became clear that Klima 1.0 and the KLIMA token would not be able to scale or serve the largest enterprise buyers effectively.

Hence we present Klima 2.0 as an Autonomous Asset Manager (AAM) with the new Risk-Balanced Asset token kVCM that:

  • Selects and purchases carbon credits on a spot and forward basis for its own portfolio.

  • Retires its carbon credits by issuing carbon offset certificates to buyers.

  • Continuously yields carbon credits from its portfolio.

  • Enables investors to:

    • Hold a true passive exposure to carbon markets, spreads and dislocations via the new kVCM token.

    • Actively reflect their risk appetite collectively to optimise portfolio selection and capacity.

    • Determine the proportion of yield distribution vs capital retention, allowing cyclical expansions and contractions and de-facto price modelling of the kVCM token.

Figure 1: Klima 2.0 high-level design.

Klima 2.0 provides a fundamental capital, liquidity and execution layer for wholesale carbon trading, capturing spreads and structural pricing across the asset class. It employs rational adaptive financial models to reflect token holders’ collective risk-reward preferences, produced solely through native smart contract balances from staking and liquidity functions allowing price discovery and harmonious functions to govern the stability and risk of the Risk-Balanced Asset token kVCM.

The model grants clean look-through economic ownership of tokenised carbon assets to kVCM token holders, as well as self-governance for risk and reward allowing maximum flexibility in this hybrid capital instrument for growth and distribution.

2.1 Dual Utility Tokens

In addition to the kVCM token, Klima 2.0 introduces a second Risk Governance token K2. This token is responsible for modelling risk across the ecosystem by responding to the kVCM token’s core selections and adding essential derivative parameters that manage adverse selection and pricing capacity.

Figure 2: Token replacement.

kVCM tokens have the beneficial ownership of the portfolio and set core allocation choices, whereas K2 acts as the risk-seeking gauge for the portfolio construction.

K2 is formally compensated with kVCM tokens hence the two tokens’ interests are fully aligned, and together perform dynamic portfolio optimisation as a result of collective owner utility function.

2.2 High-Level Architecture

Figure 3: Klima 2.0 architecture.

Three economic pillars support the Klima 2.0 Automated Asset Manager:

  1. Portfolio Manager:

    • Accumulates carbon credits for the portfolio by minting kVCM.
    • Sells carbon offset certificates from the portfolio by burning kVCM.
    • Prices liquid carbon (‘spot’ or ‘ex-post credits’) and forward-delivery carbon (‘ex-ante credits’) using the system’s generated discount rates.
  2. Time-Locked Market:

    • kVCM holders time-lock their kVCM irreversibly for a fixed time period.
    • Time-locked kVCM holders are able to select carbon assets for the portfolio.
    • The time-locking pattern creates a kVCM Base Accrual curve, which is distributed to time-locked kVCM holders. This is utilised to derive discount rates for forward-delivery pricing in the Portfolio Manager and for weightings for time-locked kVCM holders in governance, as well as for their liquid carbon distribution.
  3. Liquidity Market:

    • kVCM and K2 holders are able to pair their tokens together, or in the case of kVCM with USDC, in order to generate liquidity fees.
    • Staking the resulting liquidity provider tokens generates a share of the kVCM risk premium.
    • Liquidity locked in the kVCM/K2 liquidity pool participates in general governance alongside time-locked kVCM holders.

Noting that throughout the paper, locking and staking mean that asset transfers are disabled for a specified period.

2.3 Economics and Incentives

2.3.1 kVCM Synthetic Yield

kVCM emits a continuous yield rewarding:

  1. Time-locked kVCM holders (‘kVCM Base Accrual’).

  2. User-locked K2 holders (‘kVCM Risk Premium’).

  3. Both kVCM and K2 stakers, i.e. liquidity providers who staked their liquidity provider tokens (‘kVCM Risk Premium’).

The proportions and quantities are dynamic depending on the system state.

2.3.2 K2 Incentives

The expansion of the K2 token supply is allocated to stakeholders below in varying quantities depending on system balances.

  1. Time-locked kVCM holders.

  2. User-locked K2 holders.

  3. Both kVCM and K2 stakers.

2.3.3 Real Carbon Yield

Assuming the portfolio holds liquid (spot) carbon credits, the Portfolio Manager emits a continuous Liquid Carbon Yield to time-locked kVCM holders with the proportion a function of the system state.

2.4 Portfolio Manager

At the core of the platform, the Portfolio Manager accumulates, trades and distributes its carbon portfolio driven by parameters determined from collective token holder actions (and inaction).

Figure 4: Klima 2.0 Portfolio Manager.

The Portfolio Manager purchases carbon credits and sells offset certificates by pre-defined classification called carbon class. It does not sell carbon credits as those are issued through the Liquid Carbon Yield function.

Token holders collectively set the risk parameters for the pricing of each class by defining:

  • Portfolio weighting.

  • Capacity curve and spreads.

Additional global parameters are similarly determined:

  • Forward-delivery discount rates.

  • kVCM synthetic yield curve creating incentives for portfolio selection, liquidity provision and risk management contributions.

  • Proportion of Liquid Carbon Yield released for time-locked kVCM holders.

There are no oracles or external inputs required for Klima 2.0 as it is fully autonomous and responds to its own native state of token balances.

2.5 Tokens

2.5.1 Risk-Balanced Asset Token: kVCM

kVCM represents core ownership of the portfolio assets, and is designed to flex between asset and growth value drivers depending on token-holder activity.

kVCM has no maximum supply but inflates upon carbon credit accumulation, and contracts upon issuance of carbon offset certificates.

  • When time-locked for fixed maturities:

    • Optionally selects carbon classes for portfolio weighting and pricing (‘active’).

    • Sets the forward discount rate for carbon portfolio acquisition from the collective time locking pattern over time.

    • Generates a synthetic yield of kVCM based on the forward curve and a Liquid Carbon Yield based on the active selection ratio.

    • Participates in governance for whitelisting carbon assets.

  • Transactional usage:

    • Mint: New kVCM is issued by the Portfolio Manager to purchase new carbon credits for the portfolio.

    • Burn: kVCM are retired by the Portfolio Manager to issue carbon offset certificates.

  • Staked liquidity:

    • Generates a kVCM Risk Premium, which is a time-based relative share of the kVCM synthetic yield reflecting the risks taken to support the price of platform capital.

Noting that the tokens can delegate utility as required.

Figure 5: Automated Asset Manager token utility.

2.5.2 Risk Governance Token: K2

K2 is a fixed-supply token issued programmatically over time with a dynamic allocation for K2 Incentives.

  • When user-locked:

    • Shapes the pricing curve and spread of kVCM.
    • Determines the kVCM Risk Premium for staked liquidity providers.
    • Generates a share of the kVCM Risk Premium.
    • Receives K2 Incentives.
  • Staked Liquidity:

    • Generates a share of the kVCM Risk Premium.
    • Participates in governance.
    • Receives K2 Incentives.

2.5.3 Utility Functions

The kVCM token has two utility functions which are not independent:

Figure 6: kVCM utility functions.
  1. Time lock: The kVCM token is locked for a specific period of time representing a liquidity preference for the holder in return for yield (‘kVCM base accrual’). This cannot be amended.

  2. Price allocation: Collective selection of carbon classes by kVCM allocations determines the instantaneous price ratio for kVCM token issuance. This selection can be amended and withdrawn at any time to allow price modulation for the platform of its carbon assets.

The K2 token also has two utility functions:

  1. User lock: The K2 token remains locked for at least 24 hours.

  2. Risk allocation: collective selection of carbon classes by K2 allocations determines the rate of issuance or price curve of kVCM for the specified carbon class, as well as the retirement burning rate.

Both tokens facilitate the carbon market to function efficiently with the kVCM token responsible for portfolio selection and pricing, and the K2 token modulating capacity and risk.

2.6 Initialisation of the kVCM Token

The Klima Protocol has approximately 20 million tonnes of carbon credits in its treasury as assets, a part of which will be used to create the initial issuance of kVCM tokens upon launch of Klima 2.0.

Token Amount Notes
kVCM
A Token
20 million
  • Supply expands and contracts perpetually.
  • 87.5% of initial supply available to existing KLIMA holders.
  • Initially created approximately on a 1:1 basis with carbon tonnes held.
  • Issues on carbon received, and burns on barbon retired.
K2
G Token
100 million
  • Fixed supply.
  • 40% put into programmatic issuance as K2 Incentives yield over time.
  • 40% for existing KLIMA holders.
Table 1: Token Summary

2.7 End Users

  1. Carbon Credit Sellers

    Those wishing to monetise spot- or forward-delivery classes of carbon.

    Portfolio Manager: Continuously acquires carbon credits using an autonomous pricing strategy based on carbon class, delivery and token balances, issuing new kVCM tokens as consideration to build the carbon portfolio.

  2. Offset Buyers

    Those wishing to obtain carbon offset certificates by retiring carbon credits from the portfolio.

    Portfolio Manager: Continuously sells carbon offset certificates, by burning kVCM tokens and issuing carbon offset certificates by retiring the quantity in the registry.

  3. Investors

    Those who wish to own a liquid or yielding locked fixed-maturity financial exposure to a basket of carbon assets.

    Time-Locked Market: Provides a daily time-based yield for those time-locking kVCM tokens, comprised of both a synthetic kVCM Base Accrual and real portfolio Liquid Carbon Yield component.

  4. Liquidity Providers

    Those who wish to generate liquidity fees on their portfolio of Klima 2.0 assets coupled together or with USDC.

    Liquidity Market: Staked liquidity providers are incentivised by the kVCM Risk Premium calculated from system metrics to compensate them for risk.

  5. Active Portfolio Optimisation

    K2 and kVCM Asset Selection: The incentives and allocations are designed for those who wish to participate in overall risk management to collectively resolve for the optimal portfolio risks.

2.8 Automated Asset Manager Highlights

  • Decentralised architecture:

    The Automated Asset Manager is smart-contract based, fully autonomous as to pricing and distribution of its assets with governance power held by risk-based capital.

  • Adverse selection:

    The Automated Asset Manager does not permit the direct purchase of carbon credits from its portfolio (only carbon offset certificates), but rather yields liquid carbon on a portfolio basis over time.

  • Liquid carbon:

    Users with liquid carbon credits can always access carbon offset certificates through the registry, hold the specific carbon credits or sell back to the Automated Asset Manager if required. Secondary markets and utility for liquid carbon credits may emerge over time.

  • Implied spreads:

    The Automated Asset Manager purchases carbon at relative discounts based on capacity pricing and forward discount rates folding natural returns into the portfolio capital.

  • Dual token structure:

    Whilst the kVCM token reflects asset economics, the K2 token is essential for optimising pricing capacity and in return maximising risk-adjusted spreads for the portfolio. Since its earnings power is a function of the kVCM token value, its role as this spread optimiser is truly economically aligned and as such fundamental values of kVCM and K2 are highly correlated.

  • Hybrid asset model

    The rate of Liquid Carbon Yield for kVCM generated from the underlying portfolio is derived from the system state of the kVCM token balances.

    • This enables investors collectively to model capital and yield proportions, allowing the price of the capital token to discover its equilibrium value with respect to the combination of current and projected underlying portfolio value.

    • This flexibility enables a ‘pull to par’ effect as growth expectations lower, whilst not limiting price appreciation potential in high growth projection markets.

    • The hybrid model incorporates both asset stabilisation plus equity-like returns.

    Critically this approach enables the kVCM token to act as a true medium of exchange for the carbon trading activity of the users, propagating the feedback loops to both the kVCM and K2 tokens.

3 Core Economic Pillars

From this Section, we refer to kVCM and K2 tokens as A and G respectively.

The three tenets of Klima 2.0 enable the model to find equilibrium through continuous dynamic feedback loops and system balances. There is no oversight or centralised management entity with discretionary powers.

  1. Time-Locked Market: A token holders stake tokens until a set expiry to create floating yield time locks and have the ability to select carbon classes for portfolio weighting.

    • The collective temporal staking pattern produces a Synthetic Yield curve in A tokens to reward time-locked token holders, as well as price the forward curve for the AAM.

    • A Liquid Carbon Yield is issued continuously from the portfolio to time-locked A holders depending on the participation in portfolio weightings.

    • Only A tokens participate in the Time-Locked Market.

  2. Portfolio Manager: The Portfolio Manager swaps its own token A for carbon credits C (in) or carbon offset certificates C* (out) to build a portfolio of carbon credits.

    • Both time-locked A and user-locked G are used in the portfolio manager whereby allocating A determines the pricing of any given carbon class, and allocating G determines the rate of acquisition (and disposal).

      Only time-locked A tokens can participate in portfolio weighting although it is not mandatory.

    • Forward-delivery carbon (for a set of fixed dates out to 10 years) is transacted simultaneously with spot liquid carbon.

  3. Liquidity Market: Here the tokens are traded in two core liquidity pairs with various incentives available to staked liquidity providers (LPs), including a Risk Premium generated by the Time-Locked Market synthetic yield.

    • AG: Native token swap A and G.

    • AQ: The asset token A with USDC Q.

    The Liquidity Market provides the complementary facility to the Time-Locked Market and the critical relationship between the native tokens and the hard currency of USDC.

The Klima 2.0 system enables each participant in the various economic pillars to act in the interests of their own capital and utility, which through the harmonic model, enables price discovery, liquidity and stability for carbon trading which creates positive reinforcement cycles as catalysts for growth and scale.

3.1 Time-Locked Market

Holders of A can time-lock their token until a maturity from the set of standard maturities. Time locks expire every 90 days on a rolling basis. There are always 40 maturities extending out to approximately 10 years.

  • Forward curve: Aggregate time-locking determines the shape of the discount curve of the A token with regards to its purchasing rate of forward-delivery carbon.

  • Synthetic yield: Time-locked A token holders receive a floating yield of new A tokens following the shape of this discount curve called Base Accrual. Base Accrual is calculated daily and accumulates to the principal.

  • Liquid Carbon Yield: Liquid Carbon emitted to time-locked A token holders on a daily basis assuming the portfolio holds liquid carbon assets. The emission rate responds to time-locked A token holders allocating their token for portfolio pricing, and up to ~22% per quarter is released.

  • Liquidity: There is no early unlocking; all principal and accumulated yield is released only at time lock expiration.

G tokens are not involved in the Time-Locked Market. The forward curve is agnostic to carbon class although only time-locked A token holders can allocate their token to carbon classes for portfolio pricing.

3.1.1 Synthetic Yield and Forward-Delivery Curve

Defining:

  • \(S\): Total time-locked A tokens expressed as a proportion of the outstanding supply of A.

  • \(S_t\): Total A tokens time-locked in maturity bucket \(t\), expressed as a proportion of the outstanding supply of A, where \({\sum S_t = S}\), and \(t\) is the index of standard maturities \(t \in \{1, 2, 3, \dots, 40\}\).

  • \(E_t\): Time to expiry expressed in years.

Calculating curve parameters \(D\) and \(C\):

\[ D = \frac{1}{S} \sum_{t=1}^{40} S_t \, E_t \tag{1}\]

\[ C = \frac{1}{S} \sum_{t=1}^{40} S_t \, E_t^2 \tag{2}\]

The shape of the synthetic yield curve is produced:

\[ \gamma_t = \max \left( \frac{E_t}{D} - \frac{E_t^2}{2 \, C}, \, 0 \right) \tag{3}\]

Normalising \(\gamma_t\) to \(\hat \gamma_t\):

\[ \hat \gamma_t = \frac{\gamma_t}{\sum_{t=1}^{40} \gamma_t} \tag{4}\]

With the cumulative sum of the normalised values expressed as \(\Gamma_t\):

\[ \Gamma_t = \sum_{i=1}^t \hat \gamma_i \quad \text{for } t = 1, \dots, 40 \tag{5}\]

The zero-coupon yield curve \(Z_t\) is solved:

\[ Z_t = (1 - S) \, \frac{\Gamma_t}{E_t} \tag{6}\]

Whereupon, the discount rate \(B_t\) that forms the forward-delivery curve is derived:

\[ B_t = \exp(-Z_t \, E_t) \tag{7}\]

The yield due on time-locked A tokens is calculated daily and added to the staked principal, hence the daily yield for each time bucket is calculated:

\[ Y_t = \exp \left( \frac{Z_t}{365} \right) - 1 \tag{8}\]

Hence, any time-locked A stake \(S_t\) will increase by \(\Delta S_t\):

\[ \Delta S_t = S_t \, Y_t \tag{9}\]

With the total A tokens created on a daily basis for time-locked inflation as

\[ R = \sum_{t=1}^{40} \Delta S_t \tag{10}\]

(a) Yield (, ).
(b) Discount rate.
Figure 7: Example of a Time-Locked Market state.

For visualising the sensitivity of overall A inflation rates with respect to staking and duration, Figure 8 assumes a single maturity over the staking range to provide an approximation of inflation \(\Delta S \approx Z \, S\).

Figure 8: A inflation rate from time-locked token yields \(\Delta S\).

3.1.2 Governance Weightings

Governance rights, for example the whitelisting (and blacklisting) of carbon classes, and any other matter requiring token stakeholder voting, are allocated to two cohorts:

  1. Time-locked A tokens: \(S_t\)

  2. Staked liquidity in the A-G pair AG (see Section 3.3), defined here as \(A_{Gt}\), representing the quantity of A tokens held in the liquidity pool expressed as a proportion of circulating supply.

Voting power is allocated by time and applied to the respective balance of A:

  1. Initial voting weights for time-locked A tokens \(v_t\):

    \[ v_t = Z_t \, S_t \tag{11}\]

  2. Initial voting weights for staked liquidity \(w_t\):

    \[ w_t = Z_t \, A_{Gt} \tag{12}\]

  3. Final voting weights for time-locked A tokens \(V_t\):

    \[ V_t = \frac{v_t}{\sum_{j=1}^{40} (v_j + 2 w_j)} \tag{13}\]

  4. Final voting weights for staked liquidity \(W_t\):

    \[ W_t = \frac{w_t}{\sum_{j=1}^{40} \left( \frac 1 2 v_j + w_j \right)} \tag{14}\]

3.1.3 Liquid Carbon Yield

Defining:

  • \(A\): Total time-locked A tokens allocated for pricing of carbon classes, expressed as a proportion of the outstanding supply of A tokens.

With \(\mu\) as the daily emission factor applied to the portfolio holding spot-delivery carbon:

\[ \mu = \frac{A \, (1 - A)}{90} \tag{15}\]

Liquid Carbon Yield is allocated to time-locked A tokens holders using the (normalised) initial voting weight \(v_t\) determined in Equation 11.

3.2 Portfolio Manager

The Portfolio Manager’s role of swapping A for carbon is managed through a set of smart contracts driven by allocation choices from the token system, the balances of assets held, and the discount rates generated by the Time-Locked Market.

The combined allocations of A and G tokens creates a dynamic pricing matrix by carbon class and by time, enabling spot and forward trading of carbon.

Figure 9: Klima 2.0 Portfolio Manager.

3.2.1 Purchase Carbon

User swaps carbon credits for A tokens.

3.2.1.1 Existing Carbon in the Portfolio

Carbon classes \({i \in \{1, 2, 3, \dots, n\}}\) are whitelisted through governance by time-locked A token and staked AG liquidity providers (see Section 3.1.2).

For carbon pricing, both A tokens and G tokens may be allocated to specific carbon classes \(i\) and these are independent allocations between the two-token systems.

Figure 10: Token staking class structure.

For a carbon class quantity to be sold to the Automated Asset Manager, it must have a strictly positive quantity of A tokens allocated to that carbon class, otherwise there is no price, and the carbon cannot be sold.

Defining:

  • \(C_i\): Total tonnes of carbon class \(i\) currently held in the portfolio.

  • \(A_i\): A tokens allocated to carbon class \(i\) expressed as a proportion of the outstanding supply of A tokens, where \({\sum A_i = A}\).

  • \(G_i\): G tokens allocated to carbon class \(i\) expressed as a proportion of the outstanding supply of G Tokens.

  • \(C_{it}\): The quantity of carbon class \(i\) held in the Automated Asset Manager deliverable per maturity \(t\) where \(C_{i0}\) reflects the liquid quantity.

In order to determine the present-value quantity of carbon, \(\bar C_i\), we apply the discount curve from Equation 7 to the liquidity schedule and sum the discounted holdings:

\[ \bar C_i = C_{i0} + \sum_{t=1}^{40} B_t \, C_{it} \tag{16}\]

Figure 11: Carbon held in the portfolio.

Similarly, taking \(\Delta C_{it}\) as the quantity of carbon \(i\) to be sold with a specific maturity index \(t\):

\[ \Delta \bar C_i = \Delta C_{i0} + \sum_{t=1}^{40} B_t \, \Delta C_{it} \tag{17}\]

Once standardised by the discount curve, trades can be aggregated in the same class for the defined trade or auction period.

Figure 12: Carbon bought by the Portfolio Manager.

Where \(\Delta \bar C_i\) is expressed as the relative increment to its respective pool balance, the amount of A tokens issued to pay for carbon, \(\Delta A\), expressed as a proportion of current supply, is determined as:

\[ \ln(1 + \Delta A) = \left( A_i - \frac{A_i^2 \, (1 - G_i)^2}{2} \right) \ln(1 + \Delta \bar C_i) \tag{18}\]

Denoting the expression on the right hand side of Equation 18 as \(\mathsf{RHS}\):

\[ \Delta A = \exp(\mathsf{RHS}) - 1 \tag{19}\]

Finally, \(\Delta A\) is applied to the outstanding supply of A to solve for token quantities.

Figure 13 illustrates the G token’s capacity to maintain the initial portfolio pricing of the A token. The data has been normalised in Figure 14 to \(\Delta \bar C_i \, A_i\).

Figure 13: A price curves (\(\Delta A\)).
Figure 14: Normalised A price curves.

Noting that the sensitivity to \(G_i\) increases as \(A_i\) increases and the effects become more pronounced as \(\Delta \bar C_i\) increases.

3.2.1.2 Zero Carbon Scenario

There are circumstances when there is zero carbon held in the portfolio for a particular class, i.e. \({C_i = 0}\), which invalidates the calculation of \(\Delta \bar C_i\) and a different approach is required.

Taking \(\Delta \bar C_\emptyset\) as the tonnes of carbon tokens (implying an existing balance of 1 tonne), adjusted for forward discounting, to be sold for any carbon class that has a strictly positive A allocation \(A_\emptyset\), together with G allocation \(G_\emptyset\):

\[ \Delta A = \frac{\Delta \bar C_\emptyset}{1 + \Delta \bar C_\emptyset} \, \left( A_\emptyset - \frac{A_\emptyset^2 (1 - G_\emptyset)^2}{2} \right)^2 \tag{20}\]

Figure 15: A price curves (\(\Delta A\)) in the zero carbon scenario.
Figure 16: Normalised A price curves in the zero carbon scenario.

3.2.2 Sell Offset Certificates

User swaps A tokens for carbon offset certificates.

3.2.2.1 Weighted Carbon Class

For retiring carbon that is weighted, that is for which there is a strictly positive A token allocation, an A token holder can extract the carbon class offset certificate of their choice \(C_i\) but the available pool is only the liquid carbon balance, namely the element \(C_{i0}\):

\[ \ln(1 + \Delta C_i) = \frac{-\ln(1 + \Delta A)}{A_i + \frac 1 2 A_i^2 \, (1 - G_i)^2} \tag{21}\]

As before, denoting the expression on the right hand side of Equation 21 as \(\mathsf{RHS}\):

\[ \Delta C_i = \exp(\mathsf{RHS}) - 1 \tag{22}\]

Figure 17: Proportion of carbon retired.

Figure 17 shows the cost of carbon increasing with \(A_i\) and decreasing on \(G_i\).

3.2.2.2 Unweighted Carbon Class

An offset certificate for a carbon class with a zero A allocation cannot be extracted from the portfolio by swapping in A tokens. However, it is still part of the Liquid Carbon Yield detailed in Section 3.1.3.

3.2.2.3 Liquidation: \(\Delta A = 1\)

In the event that 100% of A tokens are placed into the burn mechanism for carbon offset certificates, the balances of all carbon held in the portfolio post-trade are distributed to all G token holders.

Figure 18 below shows the spread captured on a ‘round trip’ by the system where \(\varepsilon\) is the proportion retained:

Figure 18: Carbon ‘spread’.

Figure 19 shows the component ‘spread’ contributions on a carbon sale and purchase round trip of a carbon offset certificate.

(a) Carbon ‘spread’ component ΔA.
(b) Carbon ‘spread’ component ΔC.
Figure 19: Carbon ‘spread’ components.

3.3 Liquidity Markets

Both A and G tokens can be used for providing liquidity.

Figure 20: Token liquidity and pricing structure.

There are two core liquidity pools:

  1. An AAM 50:50 pairing of A and G tokens: pool AG.

  2. A hard currency USDC denoted as Q paired with A: pool AQ.

3.3.1 Liquidity Fees

The AQ pool will have its own set of fees in the normal way.1

The AG pool has different economics as the assets are highly correlated since they represent the same economy. For this reason, the fees are extremely low.

By staking liquidity (liquidity provider tokens) to the standard maturities, both pools may receive a distribution of A tokens determined from the Risk Premium calculation below. This is an additional primary issuance to the Base Accrual already discussed.

3.3.2 Risk Premium: Beta Determination

We can consider the Time-Locked Market yield as the system’s risk-free rate. In addition to this mechanism, a risky spread is determined that is ultimately paid to the staked liquidity providers of the A and G tokens as compensation for the risk levels assumed.

As we have seen, the G token has an impact on risk-pricing of A. As G staking increases, the relationship between the carbon class selected under \(G_i\) and the portfolio token A strengthens. We can consider \(G_i\) staking as an estimate of residual or idiosyncratic risk in the carbon class and this allows us to calculate a portfolio beta \(\beta\) from the implied betas of each carbon class \(i\).

\[ \beta = \sqrt{\sum_{i=1}^n A_i - A_i \, (1 - G_i)^2} \tag{23}\]

The portfolio \(\beta\) determines a yield factor for the liquidity pools of A to compensate for the implied risk levels.

For intuition, the map in Figure 21 shows the various outputs of the function per carbon class.

Figure 21: Range of \(\beta_i\).

The table and figure below show an example of the effects on \(\beta\) of allocating large \(G_i\) values to small \(A_i\) values where the shift in \(G_i\) results in a lower \(\beta\) (0.27 from 0.55) with no change to total G and A allocations.

Class 1 2 3 4 \(\beta\)
\(A_i\) 0.50 0.20 0.10 0.05
Initial \(G_i\) 0.30 0.10 0.05 0.01
Initial \(\beta_i^2\) 0.2550 0.0380 0.0098 0.0010 0.5511
New \(G_i\) 0.01 0.05 0.10 0.30
New \(\beta_i^2\) 0.0100 0.0195 0.0190 0.0255 0.2719
\(\Delta G_i\) (0.29) (0.05) 0.05 0.29
\(\Delta \beta_i^2\) (0.2451) (0.0185) 0.0092 0.0245
Table 2: Effect on \(\beta\) from outsized G allocation.
Figure 22: Example of G allocation on \(\beta\).

Figure 22 shows \(\beta\)’s sensitivity to G allocation as a function of A allocation; that is to say that a large \(G_i\) stake on a small \(A_i\) stake has limited effects (notwithstanding other consequential factors).

3.3.3 Allocation of Risk Premium

The full issuance of A tokens is depicted below including now the Risk Premium for the liquidity pools accordingly.

Figure 23: A token flow structure.

3.3.4 Share of Risk Premium

The Risk Premium allocation is shared between user-locked G tokens, AG. and AQ pools, with shares \(\lambda_{GG}\), \(\lambda_G\), and \(\lambda_Q\) respectively.

Defining:

  • \(G_G\): Total G tokens in the AG pool, expressed as a proportion of the outstanding supply of G.

  • \(A_G\): Total A tokens in the AG pool, expressed as a proportion of the outstanding supply of A.

  • \(A_Q\): Total A tokens in the AQ pool, expressed as a proportion of the outstanding supply of A.

The allocation to user-locked G tokens, \(\lambda_{GG}\):

\[ \lambda_{GG} = \frac{1 - A_Q}{1 + \left( \frac{\sum_{i=1}^{n}{G_i}}{G_G} \right)^2} \tag{24}\]

Figure 24: G stake allocation (assuming \(G_G = 1 - G_i\)).

Noting the relationship between \(G\) and \(\beta\), and particularly if \(G = 0\), \(\beta = 0\).

The residual share, \(1 - \lambda_{GG}\), is split between the liquidity pools:

\[ \lambda_G = (1 - \lambda_{GG}) \frac{2 A_G}{2 A_G + A_Q \sqrt 2} \tag{25}\]

For completeness:

\[ \lambda_Q = 1 - \lambda_{GG} - \lambda_G \tag{26}\]

Figure 25: Liquidity pool split \(\lambda_G, \lambda_Q\).

3.3.5 Risk Premium Distribution

For \(\lambda_{GG}\), \(\lambda_G\), \(\lambda_Q\) we apply \(\beta\):

\[ \Lambda_X = \lambda_X \, \beta, \quad \text{for } X \in \{GG, G, Q\} \tag{27}\]

Taking \(b\) as a discount parameter:

\[ b = \frac{\sum_1^{40} Z_t \, S_t \, B_t}{\sum_1^{40} Z_t \, S_t } \tag{28}\]

The total Risk Premium tokens \(R_\lambda\):

\[ R_\lambda = b \, R \, (\Lambda_{GG} + \Lambda_G + \Lambda_Q) \tag{29}\]

The allocations of \(R_\lambda\) are pro-rata to \(\Lambda_{GG}\), \(\Lambda_G\), \(\Lambda_Q\), and thereafter:

  1. Locked G: \(\Lambda_{GG}\) in proportion to G.

  2. Locked AG, AQ tokens are allocated a weighting \(G_t\), \(Q_t\) depending on their time bucket \(t\):

    \[ G_t = \frac{Z_t \, L_{Gt} \, B_t}{\sum Z_t \, L_{Gt} \, B_t} \tag{30}\]

    \[ Q_t = \frac{Z_t \, L_{Qt} \, B_t}{\sum Z_t \, L_{Qt} \, B_t} \tag{31}\]

    Where \(L_{Gt}\), \(L_{Qt}\) are the proportion of all liquidity locked in each time bucket for AG and AQ respectively.

Thereafter each time bucket allocation is proportionate to staked liquidity provider token holdings.

4 Klima 2.0 Token Distribution

4.1 Planned Allocations

Cohort Proportion Quantity (m)
Klima Holders 87.5% 17.5
DAO/Treasury 10.0% 2.0
01X 2.5% 0.5
Total 100.0% 20.0
Table 3: kVCM token.
Cohort Proportion Quantity (m) Liquidity
Klima Holders 40.0% 40.0 Logistic Vesting 48 months
Ecosystem Grant 5.0% 5.0 Logistic Vesting 48 months
Programmatic Incentives 40.0% 40.0 Incentive Curve
pKlima Holders 3.0% 3.0 Logistic Vesting 48 months
DAO/Treasury 4.5% 4.5 24 month locked LP of AG
01X 2.5% 2.5 24 month locked LP of AG
Product Design and Development 5.0% 5.0 Logistic Vesting 48 months
Total 100.0% 100.0
Table 4: K2 token.
Figure 26: K2 token allocations.

4.2 Programmatic Incentive Curve

The incentive issuance is built on a logistic function, \(\operatorname{P}\), to generate total proportion of supply in issue. It is calibrated from the initial issuance at TGE \(P_0\) and the inflection point time \(T\) where 50% of G token incentives have been released.

Setting \(x_0\) from the initial supply parameter:

\[ x_0 = \ln\left( \frac{P_0}{1 - P_0} \right) \tag{32}\]

With \(x_t\) at time point \(t \in (0, \infty)\):

\[ x_t = x_0 \, \left( 1 - \frac t T \right) \tag{33}\]

Giving supply function \(\operatorname{P}(t)\) as:

\[ \operatorname{P}(t) = \frac{\exp(x_t)}{\exp(x_t) + 1} \tag{34}\]

\(P_0\) set at and \(T\) at months:

Figure 27: Incentive Issuance
Figure 28: K2 token circulating supply over time.
(a) Total supply (stacked).
(b) Total supply (unstacked).
Figure 29: K2 token total supply over time.
(a) Total supply differential (stacked).
(b) Utility incentive yield.
Figure 30: K2 token supply risk metrics.

4.3 Incentive Allocations

Figure 31: K2 token incentive distribution structure.

The relative utilisation measurement factor \(\upsilon\) is calculated as follows.

Defining initially:

  • \(G\): Total G tokens staked expressed as a proportion of the circulating supply, \(G \in [0, 1]\).

  • \(L\): Total G tokens held in the AG pool expressed as a proportion of circulating supply, \(L \in (0, 1]\).

Where \(\upsilon = 0\) if \(G + L = 0\), otherwise:

\[ \upsilon = \left( \frac{2 G L}{G^2 + L^2} \right)^2 \tag{35}\]

Figure 32: Upsilon \(\upsilon\) range of values.

The absolute utilisation parameter \(\eta\) is defined as \(\eta = 0\) if \(G + L = 0\), otherwise:

\[ \eta = \frac{2 G L}{G (1 - G) + L ( 1 - L)} \tag{36}\]

Figure 33: Eta \(\eta\) range of values.

Incentives \(I\) are allocated as follows:

4.3.1 Treasury

The allocation to the Treasury \(I_T\) is the imbalance generated from \(\upsilon\):

\[ I_T = 1 - \upsilon \, \eta \tag{37}\]

4.3.2 Post Treasury

The residual post-treasury allocation is shared four ways within 2 buckets:

  1. Time-locked A & user-locked G tokens

    Where \(S\) is the proportion of time-locked A tokens (as defined previously in Section 3.1):

    1. Time-locked A, \(I_S\):

      \[ I_S = S \, \frac{L^2}{G^2 + L^2} \tag{38}\]

    2. User-locked G, \(I_G\):

      \[ I_G = (1 - S) \, \frac{L^2}{G^2 + L^2} \tag{39}\]

  2. Liquidity

    With \(\lambda_G\), \(\lambda_Q\), \(\lambda_{GG}\) as defined in Section 3.3.4:

    1. AG pool \(I_{AG}\):

      \[ I_{AG} = \frac{\lambda_G}{1 - \lambda_{GG}} \, \frac{G^2}{G^2 + L^2} \tag{40}\]

    2. AQ pool \(I_{AQ}\):

      \[ I_{AQ} = \frac{\lambda_Q}{1 - \lambda_{GG}} \, \frac{G^2}{G^2 + L^2} \tag{41}\]

(a) Time-locked A and user-locked G allocations.
(b) Liquidity pools allocations.
Figure 34: Share of non-treasury incentives \(I_S\), \(I_G\), \(I_{AG}\) and \(I_{AQ}\).
Figure 35: Treasury incentives \(I_T\).

Footnotes

  1. Note the development of liquidity pool pricing functionality may be applicable.↩︎