Skip to main content

What this is

Lend lets you deposit the chain’s collateral token into an ERC4626 pool and earn interest paid by borrowers. Varla’s pool is a single-asset vault: on Polygon (Polymarket) the asset is USDC, and on BSC (Opinion) it’s USDT.
Polygon (Polymarket): USDC
BSC (Opinion): USDT

How it works (high level)

1

Deposit assets

Deposit USDC/USDT into the pool and receive ERC4626 shares.
2

Borrowers borrow from the pool

Borrow demand drives interest rates (rates vary with utilization).
3

Interest accrues to lenders

Borrower interest accrues via the pool’s accounting; after the reserve fee, the remaining interest increases share price.
4

Withdraw when liquidity is available

Withdrawals are bounded by available cash in the pool (reserve excluded).

How yield is generated

Borrowers pay interest. The pool accrues that interest using a global borrow index, and a portion of interest is collected as protocol reserve (first-loss coverage). The ERC4626 share price (assets per share) rises when borrower interest accrues.

Interest rates

Varla uses a kinked utilization-based interest rate model. Rates are dynamic and vary with how much of the pool is borrowed.

How the model works

  • Below optimal utilization (80%): Rates increase gradually with utilization
  • Above optimal utilization: Rates increase sharply to incentivize repayments

Default parameters

ParameterValueMeaning
Optimal utilization80%Kink point in the rate curve
Base rate2% APRRate when utilization is 0%
Slope 17.5%Rate increase below optimal
Slope 2100%Rate increase above optimal
Interest rate parameters (optimal utilization, base rate, slopes) are governance-configurable. The 10% reserve fee is a hardcoded constant.

Example rates

UtilizationApproximate Borrow Rate
50%~6.7% APR
80%~9.5% APR
90%~59.5% APR

What you earn (and what you don’t)

You earn

You earn a pro-rata share of net borrower interest (after the reserve fee).

You do not automatically get

You do not automatically get guaranteed liquidity (if funds are borrowed out, withdrawals are limited), and you do not get a fixed rate (rates vary with utilization).

Key rules

Withdrawals are liquidity-limited

Even if your ERC4626 shares are “worth” a certain amount, you can only withdraw what is actually available. maxWithdraw(owner) and maxRedeem(owner) reflect current available liquidity, and available liquidity excludes the protocol reserve.

Reserve fee

The pool charges a 10% reserve fee on borrower interest. This reserve is used as first-loss coverage for bad debt and is excluded from LP withdrawals.

Pool caps

The pool can be configured with global caps. depositCap limits total pool TVL (set to 0 for uncapped) and borrowCap limits total outstanding borrows (set to 0 for uncapped). These are governance/risk controls and may differ per chain.

Chain differences

On Polygon (Polymarket) the deposit token is USDC. On BSC (Opinion) the deposit token is USDT.

Practical tips

If you need guaranteed liquidity, don’t assume you can withdraw instantly at high utilization. For UI, use maxWithdraw/maxRedeem (or SDK views.readLenderSnapshot) rather than displaying convertToAssets(shares) as “withdrawable”.