SOL-pegged LSTs
Source: Sanctum’ssol_value per LST mint — or, for LSTs outside the Sanctum
registry, a direct on-chain SPL stake-pool read (total_lamports / pool_token_supply).
sol_value — for jitoSOL today,
1 jitoSOL ≈ 1.18 SOL because the underlying stake pool has accrued staking + MEV
rewards since the asset was minted.
We track 38 LSTs — major Sanctum-registry pools (jitoSOL, mSOL, bSOL, INF,
JupSOL, BNSOL, PSOL, JSOL, hSOL, …) plus the Hylo LSTs (hyloSOL, hyloSOL+).
LSTs not in Sanctum’s registry — e.g. STKESOL, rkuSOL, corvusSOL — use the
on-chain stake-pool read described above instead. The full live list is always
GET /v1/assets.
Fiat stables
Source: the issuer’s contract =$1, no exception.
USDC, USDT, PYUSD, USDG, USD1, USDu, CASH, AUSD peg to 0.998, that’s
a -2 bps spread; if it trades at $0.87 (the 2023 SVB weekend), that’s -1300 bps.
USDS (a CDP-style stable, stable_cdp) and USDe (a delta-neutral synthetic stable,
stable_dn) are not fiat stables — their intrinsic is not a flat issuer-contract $1.
They are covered by the CDP and delta-neutral paths, not this group.
We do not introduce a hardcoded 1.0 in the schema — the intrinsic comes from the
configured peg target (USD, EUR, etc.) and is read from Pyth like any other FX.
Yield-bearing NAV stables
Source: Pyth Redemption Rate (USDY, syrupUSDC, sUSDe, ONyc, eUSX, PST), or an on-chain vault/reserve decode — the mint’s Token-2022 InterestBearing extension (sUSD), or a savings-vault reserve NAV (PerenaUSD*).
1 USDY ≈ $1.08 today because the underlying T-bill
strategy has earned ~8% since launch. Treating these as $1-pegged would systematically
under-value the position.
For issuers that haven’t published a Pyth feed yet, we scrape the dashboard NAV and tag
the asset verified=false in assets.toml until a real feed lands. (Piggybank pbUSDC
was an example of this path but was deactivated 2026-06-01 — only a thin dust DEX pair
remained, so its prices were no longer reliable.)
CDP-style stables
Source: on-chain decode of the protocol’s collateral state. For Hylo’s hyUSD:FX-pegged assets
Source: Pyth for the underlying FX rate, multiplied by the issuer’s redemption claim. A EUR-pegged stable should redeem atpyth.EUR/USD per token. Drift from that
is the spread.
We track EURC (Circle Euro Coin), the live EUR-pegged asset: its intrinsic redeems at
pyth.EUR/USD per token. EURC is monitoring_only and dark on the forex weekend (the
Pyth EUR/USD feed is closed Fri ~22:00 → Sun ~22:00 UTC) — that staleness is expected,
not an outage.
Why one source per class
Two reasons:- Determinism. When you ship a single alert that says “USDC entered DEPEG at 14:32:11,” subscribers need to be able to reproduce that decision from raw inputs. A blended price (Pyth + DEX1 + DEX2, weighted somehow) is reproducible only with the weighting algorithm published — and even then is harder to argue from.
-
Failure mode honesty. If Sanctum’s
sol_valueis wrong, every Pegana LST signal is wrong, and we want to know loudly. If we blended Sanctum with a DEX-side LST redemption proxy, a Sanctum bug would be masked by the proxy. We prefer the loud failure.
UNKNOWN is published at cold-start and as honest-dark on a
detectably broken anchor — a >10% premium on a NAV-priced asset, via the NAV-sanity gate
(ADR-0025) — not on routine staleness; containment of unreliable sources is via
monitoring_only — ADR-0024.)
Next
Market value
How we read what the asset actually trades for.