LAST UPDATED: --
The Problem

We Have Created The Onchain Economy's First Yield Curve

Traditional yield curves rely on opaque, centralised data. As DeFi grows, the onchain economy needs transparent, verifiable term structures derived directly from onchain fixed-rate markets.

What is a Yield Curve?

A yield curve shows the relationship between interest rates and time to maturity. Traditional finance uses government bonds, we use onchain fixed-rate markets from Pendle Finance.

The curve answers: "What yield can I lock in today for 30 days? 90 days? 1 year?"

30d 90d 180d 365d Yield % TIME-TO-MATURITY

Step 1: Collect Market Data

We gather fixed-rate yield data from Pendle v2 markets across multiple blockchains:

• Multi-chain coverage: Ethereum, Arbitrum, BSC, Optimism, Base, Mantle
• USD-denominated only: Markets with USDC, USDT, or USD-pegged assets
• Minimum TVL filter: ≥$10M liquidity per market
• Maturity range: At least 1 day remaining to expiration

Fixed APY 7.50% Locked yield Maturity 45 days Time to expiry TVL $25M Market size

Why Pendle? Pendle is the largest onchain fixed-rate protocol, offering transparent, verifiable yield data directly from smart contracts. No intermediaries, no estimates. Just raw blockchain data.

Step 2: Gaussian Kernel Weighting

Rather than fitting a global curve through all data points, we use a localised estimation approach. For each target tenor (7d, 14d, 30d, etc.), we:

1. Calculate how far each market is from the target tenor
2. Apply a Gaussian kernel to weight markets by proximity
3. Markets closer to the target tenor receive higher weight
4. Markets farther away receive exponentially lower weight

Target: 90d 60d (near) high weight 90d (exact) max weight 120d (near) high weight 180d (far) low weight Kernel Weight
K(d) = exp(-0.5 × (d / h)²)

Where d is the distance from market maturity to target tenor, h is the bandwidth parameter controlling smoothness, and K(d) is the kernel weight from 0 to 1.

Step 3: Combine with TVL Weights

The Gaussian kernel tells us which markets to trust based on distance, but we also need to account for market size and liquidity. We combine both:

Wi = TVLi × K(di)
Market A TVL: $50M Distance: 5d High Weight Large + Near Market B TVL: $15M Distance: 10d Med Weight Small + Near Market C TVL: $40M Distance: 90d Low Weight Large + Far

Key insight: A large market far away contributes less than a small market nearby. This prevents extrapolation and keeps estimates locally grounded in actual market data.

Step 4: Apply Support Rules

Before computing a yield estimate for a tenor, we verify it has sufficient market support. A tenor point is only published if it passes all three checks:

Proximity Check Nearest market ≤ max distance (prevents extrapolation) Market Count ≥3 markets within range (ensures diversity) Effective Weight Combined weight ≥5% threshold (meaningful influence) If ALL checks pass: ✓ Publish tenor yield If ANY check fails: ✗ Return null for this tenor

Why strict rules? We'd rather return null than publish unreliable estimates. Institutional users need to trust that published yields have solid market backing.

Step 5: Compute Weighted Average

For tenors that pass all support checks, we calculate the yield estimate as a weighted average of nearby market yields:

yτ = Σ(Wi × yi) / Σ Wi

Where yτ is the estimated yield at tenor τ, Wi is the combined weight for market i (TVL × kernel), and yi is the fixed APY from market i.

Example: Computing 90-day yield Market 1: 75d, 7.20% APY, TVL $30M → Weight: 0.42 Market 2: 90d, 7.50% APY, TVL $50M → Weight: 0.80 Market 3: 105d, 7.80% APY, TVL $25M → Weight: 0.35 Weighted average: (0.42×7.20 + 0.80×7.50 + 0.35×7.80) / (0.42+0.80+0.35) = 7.49% APY

Non-parametric approach: Unlike traditional curve models (Nelson-Siegel, cubic splines), our method makes no assumptions about the curve's functional form. The shape emerges entirely from market data.