# Stellar Core v2



Stellar Core v2 separates a yield-bearing position into two SEP-41 tokens:

* **Principal Token (PT):** a claim on the principal value of the deposited position.
* **Yield Token (YT):** the right to variable yield generated before maturity.

Each market has one PT and one paired YT. The PT contract holds the interest-bearing token (IBT), manages rates and fees, and controls YT minting and burning.

## Position lifecycle [#position-lifecycle]

| Stage            | What happens                                                                                    |
| ---------------- | ----------------------------------------------------------------------------------------------- |
| Deposit          | A user supplies underlying tokens or an IBT. Core issues equal amounts of PT and YT after fees. |
| Before maturity  | The YT holder accrues variable yield. PT and YT can be held or transferred independently.       |
| Early redemption | Matching PT and YT are burned together to recover the backing position.                         |
| At maturity      | Rates are frozen and YT stops carrying value. PT can be redeemed without YT.                    |

<Callout type="info">
  Before maturity, holding PT alone is not enough to redeem through Core. A matching YT balance is also required.
</Callout>

## Rates and losses [#rates-and-losses]

The IBT rate measures the underlying value of the yield-bearing asset. The PT rate starts at par and can move downward if the IBT loses value. Positive yield belongs to YT holders; backing losses can reduce the value represented by PT.

Core checkpoints yield when a YT balance changes or a holder interacts with the market. A user can claim yield as underlying tokens or as IBT, subject to the configured fee.

## Supporting contracts [#supporting-contracts]

* The **Registry** stores protocol configuration, fees, deployable contract hashes, and registered PTs.
* The **Factory** deploys PT markets; each PT deploys its paired YT.
* The **Router** composes several operations into one atomic transaction.
* The **Limit Order Engine** exchanges PT, YT, and IBT at maker-defined implied rates.

Learn about the exact flows in the [Core v2 integration reference](https://dev.spectra.finance/docs/stellar/core-v2).
