Post by Burning_ZY about Sanctum ($SANC)

  • User Avatar
    @Burning_ZYGovernance+1•2

    $SANC / Sanctum Infinity: I reproduced the "Compare real, historic yields" box on app.sanctum.so/infinity (INF 105.93 SOL vs JitoSOL 105.31 SOL, "last 10 months"). It answers @Sarkisk's question below, and it also shows both headline numbers are about 0.2 SOL too high.

    What I did: the page requests /lsts/<mint>/apys?limit=173 from the Sanctum API. I pulled the same 173 epochs (872 to 1044) for both tokens and compounded each epoch as (1+APY)^(1/182.5). That gives exactly 105.9346 for INF and 105.3106 for JitoSOL, so that is the formula.

    The problem: 1/182.5 assumes every epoch lasts 2 days. The API's own epochEndTs shows epochs ran about 50h until epoch 1019, about 44h for 1020 to 1023, and about 38h since 1024. The 173 epochs actually span 2025-11-01 to 2026-09-28, which is 331 days, not 346. This may also be why the label reads "10 months" while the math covers 11.4 months of 2-day epochs.

    Ground-truth check: Jito's stake pool stats (TVL / supply) put JitoSOL at 1.24069 SOL on 2025-11-01 and 1.30372 SOL on 2026-09-28, so 100 SOL became 105.08, not 105.31. Compounding the same APYs by actual epoch duration gives 105.10 for JitoSOL (close to on-chain) and 105.70 for INF. INF's lead of about 0.6 SOL holds; the absolute figures don't.

    Suggestions: weight each epoch by (epochEndTs minus the previous epochEndTs), print the start and end dates next to the result, and link the formula. Two smaller things: INF's epoch 876 epochEndTs is only 6h after epoch 875 (877 then spans 90h), and none of the 23 docs pages explain how to get the apiKey that every endpoint requires; calls without one return "Missing API key."