Adjust parameters with the sliders to explore how delegation affects SPO income and delegator ROA in real time.

Pool Lookup — Mainnet via Koios + corsproxy.io (no API key needed)
Enter a ticker or a full pool ID (pool1…) then press Enter or click Load Pool. Sliders for margin, fee, pledge, current delegation, and performance will be set automatically. Ctrl+K returns focus here.
Pool Parameters
Performance Analysis — actual vs expected blocks, auto-fetched from Koios on Load Pool
Load a pool above to auto-compute performance. Epochs with fewer than 0.5 expected blocks are excluded. Adjust the window or the factor manually for what-if analysis.
Pledge Bonus (A_eff)
ADA/epoch
SPO Income (at cursor)
ADA / epoch
Delegator ROA (at cursor)
% per year
Performance Factor
100.0%
actual / expected blocks
Chart Cursor — Current Delegation Level
SPO Income (solid, left axis) & Delegator ROA %/yr (dashed, right axis) — External Delegation 0 → 70 M ADA  |  dashed orange = saturation
SPO curve: green = delegation helps   red = delegation hurts   |   ROA curve: dashed blue   |   Cursor markers:   slope ≥ 0    slope < 0
Reference Formulas
gross_eff(S, P, p) = p × r × (S + a₀·P) / (1 + a₀)  |  p = performance factor (0–1)  |  a₀ = 0.3 (protocol constant)
SPO income = F + m·(gross_eff − F) + (P/S)·(1−m)·(gross_eff − F)    [when gross_eff > F; otherwise SPO takes all of gross_eff]
Delegator ROA/yr = (1−m)·(gross_eff − F) / S × 73 epochs × 100%
A_eff = p·r·a₀·P / (1+a₀)  |  mmin = (A_eff − F) / (p·r·P − F)   when A_eff > F, else 0%  |  Ceiling: a₀/(1+a₀) ≈ 23.1%
r = 0.000548 (epoch rate — slowly declining as ADA reserve depletes)  |  Saturation Ssat ≈ 75 M ADA (2025)
Performance p = actual blocks / expected blocks (averaged over chosen epoch window)  |  expected = (pool active stake / network active stake) × total epoch blocks