# Deterministic PT oracle



The Stellar oracle calculates a Principal Token price from a zero-coupon-bond model:

```text
price = future PT value / (1 + implied APY)^(time remaining / one year)
```

The price moves toward the configured future PT value as maturity approaches. At or after maturity, the returned price equals the current future PT value.

## What the oracle uses [#what-the-oracle-uses]

* One PT address.
* A maturity timestamp.
* An initial implied APY.
* A configurable future PT value.
* Output-decimal metadata.

The oracle does not read an AMM, a TWAP, Reflector, the PT's live exchange rate, or a Blend reserve. It is a deterministic model whose output is fully determined by time and its configured parameters.

Long-maturity instances require periodic TTL maintenance. See the [oracle integration reference](https://dev.spectra.finance/docs/stellar/oracle) for fixed-point behavior, permissions, and deployment constraints.
