Quote unit: Underlying asset or Asset (i.e., price of PT in the underlying unit vs. in the asset unit)
Recommendation: Price PT against Underlying Assets rather than against the Asset.
Why: Many underlying assets (yield-bearing tokens) represent “assets staked in a specific protocol,” so the Asset price of that underlying is not strictly well-defined (redeemability, slashing risk, etc.). Therefore, a “perfect” PT→Asset price cannot be provided.
Example (PT-sUSDe / sUSDe, Asset = USDe): Napier can guarantee that 1 PT-sUSDe can be exchanged for X sUSDe, so a PT→Underlying Assets price exists natively.
By contrast, sUSDe→USDe redemption is not guaranteed; sUSDe’s “Asset” is actually USDe staked in Ethena, making the Asset-denominated price of the underlying not strictly well-defined.
Depeg behavior: Even if sUSDe depegs from USDe, the PT→sUSDe conversion remains correct, since it relies on the Underlying assets side, not on external redeemability.
function clone(address implementation, bytes calldata args, bytes calldata initializationData)
Call the Oracle
Price can be obtained simply by calling thelatestRoundData() function. (Github)
4
Step 4: Sanity Checks
After integrating an oracle for PT price , do these steps to check the oracle's correctness:
PT Oracle Sanity Check
Fetch the PT price from your deployed oracle.
On the relevant PT market in Napier, open the Price tab and note the PT/Underlying price.
Multiply the price from step 2 by the Underlying asset’s price to convert it to PT/Stable terms.
Compare step 1 vs. step 3. If the deviation exceeds 0.2%, investigate (and consider contacting the Napier team).
Liquidity & Volatility Checks
Price volatility: On the market page, review PT/Underlying volatility, then use it to infer an estimate of PT/Stable volatility.
Liquidity: In the same tab, run trading simulations (buy/sell PT against the underlying) and check price impact for different order sizes in both directions.