> For the complete documentation index, see [llms.txt](https://docs.secured.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.secured.finance/fixed-rate-lending/advanced-topics/orderbook-deep-dive/genesis-value-and-compound-factor.md).

# Genesis Value & Compound Factor

These two constructs let the protocol roll *all* positions at maturity by updating **one number per market**, instead of touching every position — the accounting core of [Auto-Roll](/fixed-rate-lending/core-concepts/fixed-maturity-and-auto-roll.md) and [Lazy Evaluation](/fixed-rate-lending/advanced-topics/orderbook-deep-dive/lazy-evaluation.md).

## Compound Factor

At each quarterly roll, the protocol records the roll's effective discount rate as a multiplier and chains it onto a running product — the **Compound Factor**. Two are maintained per currency, differing by the roll fee:

**Lending Compound Factor (LCF):**

$$
LCF\_{n+1} = LCF\_{n} \times \left(\frac{1}{\text{AutoRollPrice}\_{n}} - \text{AutoRollFeeRate}\right)
$$

**Borrowing Compound Factor (BCF):**

$$
BCF\_{n+1} = BCF\_{n} \times \left(\frac{1}{\text{AutoRollPrice}\_{n}} + \text{AutoRollFeeRate}\right)
$$

The asymmetry (− fee for lenders, + fee for borrowers) is how the [auto-roll fee](/fixed-rate-lending/core-concepts/fees.md) is charged without a separate transaction.

## Genesis Value

A position's **Genesis Value (GV)** expresses it in terms of the market's **Genesis Date** (the protocol's reference start date). When a position is created or rolls past maturity:

$$
GV = \frac{FV}{LCF\_{\text{current}}}
$$

and at any later time its Future Value is recovered by:

$$
FV\_{n} = GV \times LCF\_{n}
$$

A lender's GV is positive and **never changes** — their FV grows purely through the LCF. A borrower's GV is negative and grows in magnitude with each roll, reflecting the fee spread between BCF and LCF:

$$
GV\_{n+a} = GV\_{n} + GV\_{n}\left(\frac{BCF\_{n+a}}{BCF\_{n}} \cdot \frac{LCF\_{n}}{LCF\_{n+a}} - 1\right) \quad (GV\_n < 0)
$$

## Worked example

1. Roll occurs at AutoRollPrice 0.98 (a unit price of 98.00) with fee rate 0.001. A lender's LCF goes from 1.20 → 1.20 × (1/0.98 − 0.001) ≈ **1.2233**.
2. A lender with GV = 500: FV moves from 600 → 500 × 1.2233 ≈ **611.6** — the position grew through the roll with *zero* per-position computation.
3. For 1,000 positions, a naive roll would cost \~20M gas (20k × 1,000 writes). Updating the Compound Factor once costs \~50k gas — a **99.7% reduction** — and individual FVs are derived on read.

## Design notes

* **One Genesis Date for everyone** standardizes the reference point; individual entry dates are captured by the LCF value at entry, not by per-user anchors.
* GV is protocol-computed, immutable per position, and fully auditable on-chain.
* ZC **perpetual tokens** ([Tokenization](/fixed-rate-lending/core-concepts/tokenization.md)) are GV made transferable: an ERC-20 denominated in Genesis Value terms.

## Related

* [Auto-Roll Price Discovery](/fixed-rate-lending/core-concepts/fixed-maturity-and-auto-roll/auto-roll-price-discovery.md) — where AutoRollPrice comes from
* [Lazy Evaluation](/fixed-rate-lending/advanced-topics/orderbook-deep-dive/lazy-evaluation.md) — the read-time derivation this enables
