For the complete documentation index, see llms.txt. This page is also available as Markdown.

Borrow guide

Fixed-rate ETH loans for LST/LRT looping, priced monthly from a benchmark

The KPK-curated cyclical WETH markets let borrowers take fixed-rate WETH loans for a calendar month at a time, against wstETH or tETH collateral. The rate is set fresh at the start of each month, based on a benchmark for ETH staking rates (Treehouse's Decentralized Offered Rate).

The vault provides exposure to predictable, benchmark-priced ETH credit for LST/LRT looping strategies that would otherwise be at the mercy of variable-rate IRMs.

Comparison vs variable-rate markets

Parameter
Variable-rate market
ETH Yield Term (cyclical)

Rate during the cycle

Moves with utilisation; can spike toward IRM cap (often 50%+ APY) during squeezes

Single fixed rate for the cycle, set monthly from a benchmark rate

Rate sensitivity to utilisation

High: every deposit / withdrawal moves the rate

None: rate is utilisation-independent

Predictable cost of capital

Difficult; requires constant rate monitoring

Known in advance for the whole cycle

Calendar exposure

None

One 24h repayment phase per cycle, calendar-defined

Active management required

Continuous (rate moves anytime)

Concentrated on the last day of each month (unwind or roll)

Liquidation triggers

Price-driven and rate-driven (high rate accrues debt fast)

Price-driven only (rate is fixed)

Why borrow here?

Variable-rate lending markets price ETH credit by utilisation. When the market gets full, the borrow rate spikes; when it's quiet, it sits below equilibrium. For looping strategies that hold leverage for weeks or months, this is the largest source of cost uncertainty.

The cyclical IRM removes utilisation from the equation. Within a cycle, the borrow rate is a single number, set once at cycle start from a benchmark rate.

Rate spikes are impossible

Borrow-rate trajectory across one cycle: variable-rate IRM compared to the cyclical fixed-rate IRM. Variable-rate shows a jagged curve with a utilisation-driven spike mid-cycle; cyclical shows a flat line at the primary borrow rate followed by a short step up to the secondary rate on the last day.
Borrow-rate trajectory across one cycle: variable-rate IRM vs cyclical fixed-rate.

The IRM has only two states: the primary borrow rate (during the lending phase) and the secondary borrow rate (during the repayment phase). It doesn't read utilisation. There's no kink, no slope, no jump rate, no curve. Mid-cycle, the borrow rate is constant regardless of new borrowers, supply changes, or market activity.

The only rate change happens on the last day of the month, when the rate is increased for 24 hours to encourage borrowers to repay before the cycle resets. A new cycle then starts on the 1st at a fresh rate.

How the cycle works

Cycle anatomy: a long lending phase at the fixed borrow rate (~2.05–2.50% APY), followed by a 24-hour-maximum repayment phase at 50% APY on the last day of the month, then a reset on the 1st.
  • Cycle length. One UTC calendar month. Each cycle starts at 00:00 UTC on the 1st.

  • Lending (primary) phase. The first 29 or 30 days of the month, during which borrowers pay the fixed WETH rate set by KPK (currently in the ~2.05–2.50% APY band).

  • Repayment (secondary) phase. The last day of the month, at 50% APY for up to 24 hours. Designed to encourage borrowers to repay before the cycle resets, not to force liquidations. KPK is open to adjusting these parameters based on lender and borrower feedback.

  • Cycle reset. At 00:00 UTC on the 1st of the next month, a new cycle starts at a fresh rate.

Borrowers who repay or roll before the last day pay nothing extra. Carrying through the full 24-hour repayment window adds roughly 0.111% to total borrow cost, equivalent to ~16 days of normal interest at a 2.5% primary rate.

How the rate is set

The cyclical fixed rate is computed once at cycle start from a benchmark for ETH staking rates (Treehouse's Decentralized Offered Rate)

Borrow rate=min(3.0%,max(TESR30d,2.5%))×0.900.20%\text{Borrow rate} = \min(3.0\%, \max(\text{TESR}_{30d}, 2.5\%)) \times 0.90 - 0.20\%

Two design choices make this work for borrowers:

  • Carry spread for looping. The × 0.90 − 0.20% keeps the borrow rate below TESR, so a looped position earns the underlying staking rate (≈ TESR) while paying the lower borrow rate.

  • Bounded rate. The 2.5–3.0% bounds on TESR keep the borrow rate always within a 2.05–2.50% APY band: if TESR falls below 2.5% we treat it as 2.5%, if it exceeds 3.0% we treat it as 3.0%, otherwise we use it as-is.

The rate is bounded, public, and known a full month in advance; borrowers can size positions against a worst-case cost of 2.50% APY with no surprises mid-cycle.

Example

The cycle 2 rate (June 2026) was computed from TESR 30D = 2.7920%, giving 2.7920% × 0.90 − 0.20% = 2.3128% APY, a carry spread of ~48 bps below TESR.

The TESR input used for each cycle is recorded in the Euler Change Log.

How to borrow

  1. Open the relevant borrow page on the Euler UI: borrow against wstETH or borrow against tETH. Drawing at the start of the cycle (on or shortly after the 1st of the month) is recommended, as available WETH liquidity is typically highest then.

  2. Connect your wallet and deposit collateral (wstETH or tETH) into the corresponding Euler collateral vault.

  3. Borrow WETH against your collateral.

  4. (Optional) Monitor health factor (fundamental-price-driven only; the rate can't trigger liquidation).

  5. Repay or roll before the last day of the month. Otherwise the 50% APY repayment-phase rate adds ~0.111% to borrow cost in 24 hours, undoing about 16 days of normal yield.

If you'd like to borrow more WETH than the market currently has available, please reach out to KPK directly.

Looping a leveraged LST position? Use the Multiply feature in the Euler UI (wstETH market, tETH market). It batches supply, swap, and borrow into one transaction via the Ethereum Vault Connector and a DEX aggregator (e.g. Kyberswap), with the swap calldata constructed dynamically from live aggregator quotes.

Building a programmatic borrow flow without the Euler UI? See Integration → Euler for the contract addresses, function selectors, and the full borrow/repay sequence.

Market parameters

Market
Collateral
LTV & LLTV
Liquidation discount
Exp. borrow APY
Repayment APY (24h max)

wstETH term

wstETH

94.5, 96.5%

6%

~2.05–2.50%

50%

tETH term

tETH

89.5, 91.5%

12%

~2.05–2.50%

50%

For the latest borrow APY (within the band shown), see the Euler Change Log.

Last updated