Rebalancing mechanism
How Breeze turns risk, yield, and capacity constraints into target allocations.
Rebalancing has two parts: deciding when a fund needs attention and calculating its next target allocation.
Scheduling
The fund monitor schedules a job when the first applicable condition is met:
- An enabled protocol-risk score reaches the configured trigger.
- The fund's current risk exceeds its
risk_max. - Unallocated capital exceeds its configured threshold.
- The configured rebalance period has elapsed.
The monitor also deduplicates recently scheduled work for the same fund.
Candidate filtering
The solver starts with enabled lending sources and applies their capacity and fund constraints. Sources at the maximum risk score are rejected.
For the remaining sources, the solver reduces the maximum allocation available to higher-risk tiers:
| Risk score | Share of the constraint cap |
|---|---|
| Below 4 | 100% |
| 4–5 | 70% |
| 6–7 | 40% |
| 8–9 | 10% |
| Maximum risk | Rejected |
Risk-adjusted scoring
When a fund has a non-zero risk-aversion setting, the base source score is:
Funds with zero risk aversion use raw APY for backward compatibility. The solver also applies a concentration penalty as each source approaches its cap.
Execution plan
The solver allocates capital in chunks to the highest effective scores, compares the target with the fund's current positions, and produces the required withdrawal and deposit instructions. Sources can be rejected or capped, so part of a fund may remain unallocated when no eligible target is available.