Skip to main content
This page lists all configurable protocol parameters with their default values and allowed ranges.
Some parameters may differ between Polygon and BSC deployments. Values shown are protocol defaults.

LTV Configuration

Tier Defaults

TierDefault LTVDescription
Conservative80% (0.8e18 WAD)High liquidity, established markets
Moderate65% (0.65e18 WAD)Standard liquidity, active trading
Risk50% (0.5e18 WAD)Lower liquidity, higher volatility

LTV Rules

  • Override direction: Per-position overrides can only reduce LTV, never increase
  • Constraint: conservative ≥ moderate ≥ risk (tier ordering enforced)
  • Max: 100% (1e18 WAD)

Oracle Parameters

Timing

ParameterDefaultMinMaxDescription
maxStaleness15 minutes1 minute1 dayPrice age before considered stale
liquidationGracePeriod5 minutes01 hourBlock liquidation after oracle recovery
defaultEarlyClosureWindow7 days090 daysDeposit block + LTV decay window

Liquidity

ParameterValueDescription
MIN_LIQUIDITY$10,000Minimum orderbook depth for valid collateral

Price Calculation

conservativePrice = min(spotPrice, twapPrice)
Both spotPrice and twapPrice are 8 decimals (1e8 = $1.00).

Liquidation Parameters

Global Configuration

ParameterDefaultDescription
targetHealthFactor1.05 (1.05e18 WAD)Target HF after partial liquidation
healthFactorForMaxBonus0.8 (0.8e18 WAD)HF at which max bonus is reached
liquidationBonusFactorBps3333 (33.33%)Ratio of minBonus to maxBonus
dustThreshold$10Min remaining debt after partial liquidation
collateralDustThreshold$10Min remaining collateral value after seizure

Tier Liquidation Config (Defaults)

TierMax BonusProtocol Fee
Conservative15% (1500 BPS)10% (1000 BPS)
Moderate15% (1500 BPS)10% (1000 BPS)
Risk15% (1500 BPS)10% (1000 BPS)

Bonus Calculation

minBonus = maxBonus × liquidationBonusFactorBps / 10000
With defaults: minBonus = 15% × 33.33% = 5% Bonus scales linearly from minBonus (at HF ~1.0) to maxBonus (at HF ≤ 0.8).

Bad Debt

ParameterValueDescription
BAD_DEBT_DISCOUNT_BPS500 (5%)Discount on collateral value for bad debt liquidation

Core Parameters

Borrow Constraints

ParameterValueDescription
MIN_BORROW10 unitsMinimum borrow amount (10 USDC on Polygon, 10 USDT on BSC)
MIN_BORROW_DURATION1 minuteAnti-flashloan repay delay
LIQUIDATION_THRESHOLD1.0 (1e18 WAD)HF below this is liquidatable

Position Limits

ParameterDefaultMinMaxDescription
maxPositions201100Max distinct positions per user

Pool Parameters

Reserve

ParameterValueDescription
RESERVE_FEE_BPS1000 (10%)Portion of borrower interest sent to reserve

Caps (Governance-Configurable)

ParameterDefaultDescription
depositCap0 (uncapped)Max total LP deposits
borrowCap0 (uncapped)Max total outstanding borrows

Interest Rate Strategy

Default Parameters

ParameterDefaultDescription
optimalUsageRatio8000 (80%)Kink point
baseVariableBorrowRate200 (2%)Base APR at 0% utilization
variableRateSlope1750 (7.5%)Slope below kink
variableRateSlope210000 (100%)Slope above kink

Bounds

ParameterMinMax
optimalUsageRatio1% (100 BPS)99% (9900 BPS)
maxBorrowRate1000% (100000 BPS)

Rate Formula

Below kink (utilization ≤ optimal):
borrowRate = baseRate + slope1 × (utilization / optimalRatio)
Above kink (utilization > optimal):
borrowRate = baseRate + slope1 + slope2 × ((utilization - optimal) / (1 - optimal))

Precision Constants

ConstantValueUsage
WAD1e18Percentage precision (1.0 = 1e18)
RAY1e27Interest rate precision
BPS10000Basis points (100% = 10000)
PRICE_DECIMALS8Oracle price precision (1e8 = $1.00)

Reading Parameters On-Chain

Use the SDK to read current parameter values:
import * as views from "@varla/sdk/views";

// LTV config
const ltv = await views.readTieredLtvConfig({ core });
// { tier0: 0.8e18, tier1: 0.65e18, tier2: 0.5e18 }

// Liquidation config
const liq = await views.readLiquidationConfig({ core });
// { targetHealthFactor, healthFactorForMaxBonus, ... }

// Oracle timing
const oracle = await views.readOracleTiming({ oracle });
// { maxStaleness, liquidationGracePeriod }

// Pool rates
const rates = await views.readPoolRates({ pool });
// { utilizationWad, borrowRateRay, supplyApyRay }
See SDK Reads for the full list of view helpers.