Breeze
Risk Engine

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:

  1. An enabled protocol-risk score reaches the configured trigger.
  2. The fund's current risk exceeds its risk_max.
  3. Unallocated capital exceeds its configured threshold.
  4. 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 scoreShare of the constraint cap
Below 4100%
4–570%
6–740%
8–910%
Maximum riskRejected

Risk-adjusted scoring

When a fund has a non-zero risk-aversion setting, the base source score is:

Score=APYRisk Aversion×(Risk Score/10)\text{Score} = \frac{\text{APY}} {\text{Risk Aversion} \times (\text{Risk Score} / 10)}

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.

On this page