> ## Documentation Index
> Fetch the complete documentation index at: https://pegana.xyz/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Yield-bearing NAV oracles explained

> USDY, sUSD, syrupUSDC, sUSDe, sHYUSD, JLP, ONyc — these aren't $1 stablecoins. Their intrinsic value is a NAV (net asset value) that grows over time as the underlying strategy earns. Monitoring them requires a different formula than USDC.

A new asset class hit Solana in 2025–2026: **yield-bearing stables**. Unlike USDC
("1 token = \$1 of bank deposit"), these tokens represent a share of a portfolio that
earns yield. Their per-share value rises over time. Calling them "stablecoins" is
technically wrong — they're tokenized funds.

Seven of them are tracked on Solana today:

* **USDY** — [Ondo](https://ondo.finance/usdy)'s T-bill token
* **sUSD** — [Solayer](https://solayer.org)'s T-bill + restaking MEV
* **syrupUSDC** — [Maple](https://maple.finance)'s institutional lending
* **sUSDe** — [Ethena](https://ethena.fi)'s funding-arb
* **sHYUSD** — [Hylo](https://docs.hylo.so)'s Stability-Pool staked hyUSD (monitoring\_only)
* **JLP** — [Jupiter](https://jup.ag)'s perps liquidity pool (monitoring\_only)
* **ONyc** — [OnRe](https://onre.io)'s reinsurance (monitoring\_only)

Each has a redemption price published by its issuer that grows according to the
strategy.

## Why the formula is different

For USDC, the answer to "what's the peg?" is "$1, always." Compare market to $1,
you're done.

For USDY, the answer to "what's the peg?" is "the NAV Ondo published 3 minutes ago,
which is $1.078 as of today." If you compare USDY's market price to $1, you'll think
it's catastrophically over-pegged. It isn't — it's correctly priced against a NAV
that's grown 7.8% over its lifetime.

So the formula becomes: \*\*peg = NAV, not peg = $1**. The discount you actually care
about is `market - NAV`, not `market - $1\`. A market price below NAV is redemption
stress; a market price above NAV is buy-side demand running ahead of the issuer's
published rate.

## How NAV gets on chain

Three patterns dominate today on Solana:

**Pyth Redemption Rate** (USDY, syrupUSDC, sUSDe, ONyc).
The issuer signs and pushes a redemption price to a dedicated Pyth feed. Pegana
subscribes to the SSE stream and reads it the moment it's published. **Staleness gate:
30s** — older readings are refused so you don't act on a NAV from yesterday.

**Token-2022 InterestBearing extension** (sUSD).
The mint itself stores a rebasing rate. Reading it is a `getAccount` on the mint and a
small calculation. Pegana's `solayer_susd` adapter does this every 15s.

**Issuer dashboard scrape** (fallback).
When an issuer hasn't published a Pyth feed yet, Pegana can fall back to scraping the
issuer's published NAV from its dashboard. Such entries are explicitly marked
`verified=false` in `assets.toml` until a real feed lands. (pbUSDC used this fallback
but was deactivated 2026-06-01 — only a thin dust pool remained, so its prices were
unreliable; USD\* was removed 2026-05-22.)

## The market side is trickier than it looks

Yield-bearing stables are often thin. Maple's syrupUSDC has institutional liquidity
but limited DEX depth. ONyc trades on a couple of venues. The Jupiter route quote can
swing meaningfully on small order sizes.

Pegana mitigates this in two ways:

1. **Thresholds** for yield-bearing assets are widened — sUSD's drift threshold is
   2.75% (275 bps), calibrated from a 24h p99 of \~2.19%, not 0.30%, because its
   noise sits up there by design.
2. **Confidence label.** The engine tags low-liquidity feeds with a confidence label
   so downstream consumers can decide whether to act on a thin-market signal. See
   [confidence score](/docs/concepts/confidence-score).

## When the NAV itself is the risk

Sometimes the depeg isn't `market < NAV` — sometimes the **NAV itself drops**.

* **ONyc**'s NAV reflects underwriting performance: a catastrophic claim event drops
  the NAV directly.
* **sUSDe**'s NAV depends on positive perp funding: a sustained negative-funding
  regime stops the NAV from growing, may even reverse it.
* **syrupUSDC**'s NAV can be hit by a borrower default.

Pegana surfaces NAV drops as legitimate alerts even when market tracks NAV closely.
The `/explain` command on the bot calls out the issuer-specific risks for each asset
(T-bill shock, negative funding, claim event, borrower default) so subscribers see
what could cause the next alert before it fires.

## What this means for builders

If you're integrating yield-bearing stables as **collateral**, the cardinal sin is
treating NAV as constant. A \$1-pegged USDC oracle, applied to USDY, will overvalue
collateral by 7.8% today and more tomorrow. Use the actual NAV feed. Pegana exposes
both `intrinsic_usd` (NAV) and `market_usd` in the same payload so you can pick which
one your protocol should price against.

## Read next

<CardGroup cols={2}>
  <Card title="Live yield-bearing states" icon="chart-line" href="https://pegana.xyz/dashboard">
    See the current state of every tracked yield-bearing asset.
  </Card>

  <Card title="Methodology" icon="equals" href="/docs/methodology/overview">
    The intrinsic-vs-market formula and per-asset thresholds.
  </Card>
</CardGroup>

### Sources

* [Ondo — USDY mechanics](https://ondo.finance/usdy)
* [Solayer — sUSD design](https://solayer.org)
* [Ethena — sUSDe](https://ethena.fi)
* [Maple — syrupUSDC](https://maple.finance)
* [OnRe — ONyc](https://onre.io)
* [Pyth — Redemption Rate feeds](https://docs.pyth.network)
