Documentation

Risk parameters

Every live value, per market.

Per market#

Risk parameters are set per asset, ordered by how far each one realistically moves. Both loan types are tiered, and the fixed-term cap always sits below the variable one.

MarketMax LTVLiq. thresholdFixed-term LTVLeverage ceiling
Tesla45%50%30%1.82x
NVIDIA50%55%35%2.00x
Apple55%60%40%2.22x
Microsoft55%60%40%2.22x
S&P 500 ETF60%65%45%2.50x

A diversified index does not move like a single volatile name, which is why the S&P market is the loosest and Tesla the tightest. The leverage ceiling is not a separate parameter: it falls out of max LTV as 1 / (1 - maxLTV).

The fixed-term cap can never exceed the variable one

Enforced on-chain in both directions. Raising the fixed LTV above max LTV reverts, and lowering max LTV beneath the fixed LTV reverts too. A loan that nothing can liquidate must never be able to borrow more per unit of collateral than one that can.

Shared across all markets#

ParameterValueNotes
Liquidation bonus5%The liquidator's discount on seized collateral
Close factor50%Most of a position's debt repayable in one liquidation
Reserve factor10%Share of borrower interest retained by the protocol
Max oracle staleness24 hoursPrice-dependent actions revert beyond this
Settlement delay7 daysBounded on-chain between 1 and 30 days

Fixed term#

ParameterValue
Rate8%/yr, simple interest
Terms offered1, 7, 14 or 30 days
Contract bounds1 to 30 days
Settlement bounty0.5% of seized collateral
Bounty ceiling2%, enforced on-chain
Loans per addressOne at a time, per market

The bounty ceiling sits far below the 5% liquidation bonus on purpose. A liquidator has to front the debt; a settler fronts only gas. Paying them alike would make settling the more profitable action.

Interest rate curve#

One kinked utilization curve is shared by every market. The curve is stateless, so sharing it costs nothing and keeps a single place to reason about rates.

PointBorrow rate
0% utilization0%/yr
Up to the 80% kinkrising to 10%/yr
100% utilizationup to 300%/yr

The steep segment above the kink exists to protect lender withdrawals. When a pool approaches fully drained, borrowing becomes expensive enough that some borrowers repay and new lenders are drawn in.

Swap module#

ParameterValue
Fee0.30%
Fee ceiling5%, enforced on-chain
PricingOracle-priced and halt-gated, with its own fixed 24-hour freshness check

The swap module stands in for a DEX, since no real venue has liquidity for these mock tokens on testnet. It is what Multiply routes through.

Contract-level ceilings#

ConstantValueWhy it exists
MAX_LEVERAGE5xHard cap in the zap, above any market's real ceiling
MAX_ITERATIONS10Gas bound on the multiply loop
MIN_FIXED_TERM1 dayFloor on fixed-term length
MAX_FIXED_TERM30 daysCeiling on fixed-term length
MAX_SETTLEMENT_BOUNTY2%Ceiling on the settler's cut
MAX_LIQUIDATION_BONUS20%Ceiling on the liquidator's discount
MAX_RATE_PER_YEAR1000%Ceiling on every leg of the rate curve
MIN_ORACLE_STALENESS1 hourStops the freshness window being set uselessly short
MAX_ORACLE_STALENESS7 daysStops the market's freshness check being disabled
MAX_RESERVE_FACTOR50%Ceiling on the protocol's cut of interest
MAX_FEE5%Ceiling on the swap fee
MIN_SETTLEMENT_DELAY1 dayStops governance making halts instantly settleable
MAX_SETTLEMENT_DELAY30 daysStops governance restoring an indefinite lockup

These are constants, not settings. Governance can move parameters within them but cannot change the ceilings themselves without deploying a new contract. Every governance-settable risk parameter has one; the last two gaps were closed in the September 2026 audit. See Governance.