{
  "type": "ZkVmReceipt",
  "system": "risc0",
  "receiptFormat": "groth16-bn254",
  "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
  "seal": "DLf8Cq3jkXPMjEV3Ijgsw77hfwKC9PZD0SeluveX9sAZoM+FimwQa4S1OoFS2ssU7Mbi3ozN42SoQZEoNt2toCzQdVVGbwHXKQdStnPh4SqCooemK+QG5/wcRyevSsrjCCRHnl9ZP5Yy5qGMZsENDbcubQPN+DMkcY5sF9vYWiUJ8QbcYiT4pRrlgUoxZsL62zO4MFFwwIYmK7rP53Cipwylh6A6FObWnX6UmYVHyoczJDQj+IfmNl+0QKyYpdzxKXNjKwAvzyCaSkupy7NxflOxleHE9/EbwKK5Dcvxn30l8+0euVs4n+RtdVOEwqvb8UBul/UlNOb4WTWSysxJPA==",
  "journal": {
    "chaingraph_version": "0.4.0",
    "kernel_digest": "sha256:376d1cf65cb78cf0f916e618176436b629b0fcd903bda64f5c9bd2de934e1f50",
    "output": {
      "assumptions": [
        "Curve assumption: the benchmark curve is built ONLY from the 3 benchmark point(s) the caller supplied under benchmark_name \"UST par, as supplied\" — there is no live Treasury feed, no market data lookup, and no blending with any other source.",
        "Interpolation assumption: the benchmark yield at the bond’s maturity is read from the curve by linear interpolation (method_version linear@1) — inside each section the yield is the straight line between that section’s two benchmark points; within a section the curve is smooth and no extrapolation happens outside [2, 10] years.",
        "Spread assumption: g_spread_bp is (bond.yield_pct − benchmark_yield_at_maturity_pct) × 100 — a yield difference in basis points against the interpolated benchmark yield, not an asset-swap spread and not a Z-spread; the bond’s own cash flows are not repriced.",
        "Exclusions: no bootstrapping of zero rates from coupon instruments (the supplied points are used exactly as given), no day-count or accrual adjustments (tenors are used as plain year numbers), no interpolation of the bond’s own yield, and no live data of any kind."
      ],
      "benchmark_yield_at_maturity_pct": 4.5,
      "curve": {
        "benchmark_name": "UST par, as supplied",
        "method": "linear",
        "method_version": "linear@1",
        "points": [
          {
            "tenor_years": 2,
            "yield_pct": 4
          },
          {
            "tenor_years": 5,
            "yield_pct": 4.5
          },
          {
            "tenor_years": 10,
            "yield_pct": 4.8
          }
        ]
      },
      "g_spread_bp": 60,
      "note": "The benchmark curve is caller-supplied by design: deterministic arithmetic over the given points only. Exclusions: no bootstrapping of zero rates, no day-count, no live Treasury feed.",
      "regulatory_basis": "Standard fixed-income relative-value analytics: the G-spread (a.k.a. yield spread) of a bond against a government benchmark yield curve, computed as the difference between the bond’s yield to maturity and the interpolated benchmark yield at the bond’s maturity (Fabozzi, Bond Markets, Analysis and Strategies). The monotone cubic option implements Fritsch and Carlson (1980)."
    }
  }
}
