Bonus and malus
Locked positions adjust your effective interest rate. Suppliers earn a bonus; borrowers pay a reduced rate (the "malus" — meaning a smaller magnitude of interest, not a penalty). Both come out of the protocol's spread.
The mechanism
The default protocol spread is s = 10%. This is the half-width applied symmetrically:
- Borrow rate = base × (1 + s) = base × 1.10
- Supply rate = base × (1 − s) = base × 0.90
When you lock, your effective spread shrinks by an amount proportional to your lock ratio λ:
- Locked supplier effective rate ≈ base × (1 − s + s · λ)
- Locked borrower effective rate ≈ base × (1 + s − s · λ)
At λ = 1 (fully locked), both sides converge toward base × 1.0 — the supply and borrow rates equal the base rate. The protocol earns nothing in spread.
What is λ exactly?
λ is the time-weighted lock ratio. It accounts for both how much of your balance is locked and how long the locks remain.
The protocol uses an O(1) algorithm to compute a normalised commitment depth in token-equivalent units — see Ring-buffer locks if you want the details. For the user-facing intuition:
- A permanent lock of all your principal → λ = 1.
- A 1-quarter timed lock of all your principal → λ ≈ 1/16 (since the maximum horizon is 16 quarters).
- A 4-year timed lock of all your principal → λ ≈ 1.
- A permanent lock of half your principal → λ ≈ 0.5.
The bonus scales linearly with λ.
Ceiling
The bonus is capped by governance parameters:
- LOCK_BONUS — maximum supply bonus (default = s = 10%)
- LOCK_MALUS — maximum borrow reduction (default = s = 10%)
Both are bounded above by the spread s per parameter. The protocol enforces this on-chain (the supervisor rejects any new LOCK_BONUS/LOCK_MALUS above SPREAD, and any new SPREAD below the existing bonus or malus) — it's not possible for governance to set a bonus larger than the spread itself.
As a corollary, the combined constraint LOCK_BONUS + LOCK_MALUS ≤ 2s holds whenever the per-parameter bounds hold. This isn't enforced as a separate require, but it's a theorem about the per-parameter constraints. The practical consequence: even at full lock and maximum bonus, the protocol's spread margin can compress to zero but never go negative — if everyone locks, the protocol simply earns no spread, it doesn't lose money.
Worked example: locked supplier
Suppose:
- Pool utilization is 50%, base rate is 5%.
- You supply 1,000 XPOW and lock it permanently.
- Default parameters: s = 10%, LOCK_BONUS = 10%.
Your effective supply rate at λ = 1:
rate = 5% × (1 - 0.10 + 0.10 × 1) = 5% × 1.00 = 5.00%Compared to an unlocked supplier in the same pool:
rate = 5% × (1 - 0.10) = 5% × 0.90 = 4.50%You earn an extra 50 bps annualised by locking permanently. Over a year on 1,000 XPOW, that's 5 XPOW — which sounds small but is meaningful at scale, especially if you're locked anyway for cascade-protection reasons.
Worked example: locked borrower
Suppose:
- Pool utilization is 95%, base rate is 50% (post-kink).
- You borrow 1,000 XPOW and lock it for 4 years.
- Default parameters: s = 10%, LOCK_MALUS = 10%.
Your effective borrow rate at λ ≈ 1:
rate = 50% × (1 + 0.10 - 0.10 × 1) = 50% × 1.00 = 50.00%Compared to an unlocked borrower:
rate = 50% × 1.10 = 55.00%You save 500 bps annualised. On 1,000 XPOW, that's 50 XPOW/year — substantial.
When the bonus matters most
The bonus is structurally most attractive at high utilization. From the Nash equilibrium analysis:
- Below 90% utilization: lock breakeven period is several years. Locking is marginal.
- 90–95% utilization: breakeven drops to ~3 years.
- 95–98% utilization: breakeven drops to under a year.
- Above 98%: breakeven drops to a few months.
This is by design: when the protocol most needs cascade protection (high utilization, stressed market), locking is most attractive. The mechanism is counter-cyclical.
What about the protocol margin?
At full lock adoption (everyone locked, λ = 1 for all users), the protocol earns zero spread on locked positions. This is solvent — the protocol doesn't lose money — but it earns nothing.
In practice, full adoption is unlikely. Realistic equilibria are 10–20% lock adoption in calm markets, 40–70% in stressed markets, with the protocol margin landing in the 8–18% range of base interest. See the theory paper for the analysis.
Where to go next
- Cascade protection — the systemic benefit you pay for with your lock
- Locking positions — how to lock in the app
- Position parameters — LOCK_BONUS, LOCK_MALUS, SPREAD defaults