Klima Protocol: Fee vs. Principal
Revenue and risk for a carbon-retirement intermediary
A carbon-retirement intermediary buys kVCM tokens and burns them on behalf of clients. It can charge clients in one of two ways. A fee is a markup on the token cost; it carries no inventory and no price exposure. A principal price is a fixed USD quote per tonne, with balance-sheet exposure to the spot price. Once the principal book is open, the shape of its loss tail is a design choice. The full derivations live on the Model page.
The intermediary retires \(\lambda\) tonnes per unit time over a horizon \(T\) and sources \(P\) kVCM per tonne at the spot price \(S_t\) (in USD per kVCM). We write \(N = \lambda T\) for the total tonnes retired and \(\Pi\) for a book’s terminal P&L in USD. The fee and back-to-back books share the same random driver: both are linear in the spot integral \(I_T = \int_0^T S_t \, dt\). At the break-even quote \(Q = Q^*\), the fixed USD-per-tonne quote that equalises the two books’ expected P&L \(\mathbb{E}[\Pi]\), the two means coincide. The fee book enters with a positive sign and its revenue is non-negative. The back-to-back book enters with a negative sign: upside is capped at the quote payout \(Q N\), and downside is unbounded. Equal moments are not equal distributions.
A fully matched treasury pre-buys \(k = N P\) kVCM at total USD basis \(C_{\mathrm{basis}} = N P S_0\), where \(S_0\) is the spot at inception. It cancels the \(I_T\) term path by path: treasury consumption contributes \(+ P \lambda I_T\) against the back-to-back book’s \(- P \lambda I_T\). The desk therefore collapses to the deterministic \(N(Q - P S_0)\). Partial coverage \(\alpha = \min(1, k / (N P))\) leaves the uncovered tail \(J_\alpha = \int_{\alpha T}^T S_t \, dt\). Quota-share syndication of the back-to-back book at cession fraction \(\beta \in [0, 1]\) scales the variance by \((1 - \beta)^2\). At the actuarially fair premium (counterparty risk load \(\theta = 0\)), the expected P&L of the retained book \(\mathbb{E}[\Pi_{\mathrm{ret}}]\) does not depend on \(\beta\).
Switching to fee pricing whenever \(S_t \ge H = h S_0\) caps every retirement done above the threshold at non-negative revenue. The threshold multiple \(h \ge 1\) controls how tight the cap is. The switch is symmetric: re-entries below \(H\) resume b2b exposure, so a volatile path near \(H\) can cross it several times. At the defaults with \(h = 1.25\), the 5 % tail-mean loss \(\mathrm{CVaR}_{95}\) falls well below the b2b reference and \(\mathbb{E}[\Pi]\) rises. Tightening \(h\) cuts the tail harder but invites more re-entries. The full symbol table sits in Setup and notation.
Specific scenarios
The paragraphs above average over every GBM future. Specific scenarios, such as a mid-year crash or a historical replay, read off a single realised path. The canvas below lets you draw one. Each book’s P&L on that drawn path is then recomputed and shown against its Monte Carlo mean.
NoteHow the drawn curve enters the books
A trapezoid rule over the drawn path yields \(I_T\), the uncovered tail \(J_\alpha\), the switching split against \(H = h S_0\), and the terminal spot \(S_T\). These feed every book on the Simulator. The GBM/Merton dynamics (drift \(\mu\), diffusion \(\sigma\), jumps \(\lambda_J, \mu_J, \sigma_J\)) drive only the overlaid comparison Monte Carlo, seeded by the PRNG slider.
The buttons along the top of the canvas load common shapes. The presets are a flat path at \(S_0\), a linear drift of ±50 %, a mid-horizon crash, a brief spike at \(\tfrac13 T\), a random walk, and a historical kVCM series read from data/kvcm-historical.json (the file is populated by npm run fetch:prices). Clicking and dragging on the canvas draws a freehand path that overrides the preset.
Price process
Jumps (Merton)
Demand & inventory
Contract
Switching
Curve settings
Price path
Carbon price
The chart below shows the drawn path rescaled to carbon-price units \(\pi_t = S_t \cdot P\) (USD per tonne). The orange line is the drawn curve, the grey lines are 20 GBM sample paths at the current parameters, the dashed green rule marks the inventory-exhaustion time \(\alpha T\), and, when switching is on, the dashed red rule marks the fee-mode threshold \(\pi_H = h S_0 P\). The drawn curve is the common input to all books below; the grey cloud shows where GBM alone would have taken the price.
P&L along the path
The chart below plots cumulative P&L per book, in USD, against calendar date. Each coloured line is one book evaluated on the drawn path up to that date; the dashed green rule marks the inventory-exhaustion time \(\alpha T\). The custom desk kinks at \(\alpha T\) when inventory runs out, and the switching book kinks at each crossing of \(H\).
Operating books start at 0; treasury opens at MTM \(k S_0 - C_{\mathrm{basis}}\). Switching slope alternates at each \(H = h S_0\) crossing.
Terminal P&L
The table below reports one-point statistics for each book. The drawn column is the book’s P&L on the sketched path at time \(T\). The E[Π] (MC) column is the Monte Carlo mean over 5,000 GBM sample paths at the current parameters. The diff column is the former minus the latter.
drawn: P&L on the sketched path. MC mean: \(\mathbb{E}[\Pi]\) at defaults (\(\mu = -0.1\), \(\sigma^2 = 0.0625\), \(\lambda_J = 20\), 5,000 paths). diff = drawn − MC mean.
A negative diff on the custom desk row means the drawn token was pricier over \([\alpha T, T]\) than GBM expects on average. At full coverage the desk is path-insensitive and the diff collapses to zero.
Scope
The model is a GBM baseline with optional Merton jumps and deterministic demand; see baselines this note assumes. The outputs are illustrative, not forecasts.