Skip to main content
Paystream’s Leveraged Lending Pool is a shared liquidity system designed to support leveraged LP positions. It connects lenders and borrowers through an efficient interest accrual system, dynamic utilisation, and risk-managed yield distribution. Below is a breakdown of the core components: lending-pool

User roles

Paystream’s leveraged lending system is powered by two core user roles: Lenders and LP-users/Borrowers. Lenders supply capital to the protocol in exchange for yield, while LP-users/borrowers utilise that capital to enter leveraged liquidity positions across supported DeFi pools.

1. Lenders

Lenders deposit a base asset (e.g., SOL, USDC) into the Paystream lending pool. In return, they earn interest over time based on the pool’s utilisation and borrowing demand. Their funds help power leveraged trading opportunities for other users. The protocol ensures lender capital remains liquid, allowing for instant withdrawals at any time. Interest is distributed proportionally based on each lender’s share in the pool, and accrual occurs per block.

2. Leveraged LP users / Borrowers

LP users access capital from the lending pool to enter leveraged LP (Liquidity Provider) positions in supported pools like CLM (concentrated liquidity markets ), DLMM or DAMM V2. They can choose to invest manually or use auto-trading by copying another wallet’s strategy. Borrowers are required to maintain a healthy Loan-to-Value (LTV) ratio to avoid liquidation. Before entering a position, their deposited SOL is automatically converted into the appropriate tokens for the chosen pool.

Pool Mechanics

Paystream tracks and distributes interest using two index systems: GLI for lenders and BLI for borrowers. Lenders earn yield based on pool utilisation. Borrowers pay interest based on their leverage tier and usage time. When repaying, the system calculates interest using the difference between the current and initial index values. This setup keeps the yield distribution accurate and efficient without constant updates.

1. Global Liquidity Index (GLI)

GLI refers to the cumulative index values used to track interest accrued by borrowers and earned by lenders over time. It represents how the lending pool grows and how borrower debt compounds, serving as the core mechanism for calculating interest and yield in the protocol.
  • Maintained for both lenders and borrowers
  • Increases with each borrower-interest event
  • Used to calculate lender yield on exit
Whenever a lender deposits or a borrower takes a loan, we record the current index value as a snapshot:
  • For lenders: store LLI_entry at the time of deposit
  • For borrowers: store BLI_entry based on their leverage tier
When they later withdraw or repay, we compare the current index to the snapshot to determine how much interest they have earned or owe.
Note: Because there are three borrowing-rate tiers (by leverage), we maintain three global indices on the borrowing side.

a. Lending liquidity Index

LLI represents how much the lending pool has grown over time due to interest paid by borrowers. When a lender deposits funds, a snapshot (LLI_entry) is taken. When the lender exits, the current index (LLI_now) determines how much yield they’ve earned. LLI update formula
LLI(t) = LLI(t-1) × (1 + LendingRate × Δt)

b. Borrower liquidity index

The Borrower Liquidity Index (BLI) is a running “interest meter” that tells us how much a borrower’s debt has grown since they opened the position.
  • When a loan is taken, we snapshot the index as BLI_entry.
  • As blocks pass, the index rises with the applicable borrow rate.
  • At repayment, the ratio BLI_now / BLI_entry shows the exact interest multiplier to apply to the original principal.
  • There are three separate Borrower Liquidity Indexes because each leverage tier (1×, 2×, 3×) has a different interest rate. To track interest accurately for each borrower type, a dedicated index is maintained per tier, ensuring precise repayment calculations.
Borrowers’ Liquidity Index update formula
BLI(t) = BLI(t-1) × (1 + borrowRate × Δt)
Tiered BLIs Each leverage/risk bucket compounds independently.
TierTypical LTV / leverageSymbol
1≤ 1 × (safe)BLI₁
2≤ 2 × (medium)BLI₂
3≤ 3 × (high)BLI₃
Per‑Tier Update Rule blik,t=blik,t1×(1+borrowRatek×Δt)\text{bli}_{k,t} = \text{bli}_{k,t-1} \times \left(1 + \text{borrowRate}_k \times \Delta t \right)
Note 1 + rate × Δt is the compound-interest factor. For simple interest, replace it with borrowRate × Δt. Note - for each category, a different index is calculated

2. Interest rates

a. Borrow-Rate

The borrowing rate reflects the cumulative interest paid by borrowers on their borrowed principal. It increases over time based on utilisation and risk tier, and directly impacts how much debt a borrower owes at the time of repayment.
  • Borrow rate depends on
    • Types of pools and leverage levels (maximum of the category)
      • 12 % for 1 – 1.5 × leverage
      • 15 % for 1.5– 2× leverage
      • 17 % for 2 – 3× leverage
    • utilisation rate The borrowing rate is variable at every utilisation point.
Borrow rate wrt utilisation
B_t = B_F + \frac{B_C - B_F}{U_C - U_F} (U_t - U_F)
  • B_t = Current borrow interest rate
  • B_F = Borrow rate at the floor-utilization knot point
  • B_C = Borrow rate at the ceiling-utilization knot point
  • U_t = Current utilization rate
  • U_F = Floor utilization knot
  • U_C = Ceiling utilization knot
Note:
These parameters are carefully chosen to dynamically adjust borrow rates based on utilisation.
This helps reduce systemic risks, prevent liquidity crunches, and ensure fair interest pricing.
total borrow rate
totalBorrowRate = (B1 × U1 + B2 × U2 + B3 × U3) / totalUtilization
Where
  • B1, B2, B3 = Borrow rates for leverage levels different category
  • U1, U2, U3 = Utilisation (borrowed amount / total available) for each borrower type
  • totalUtilization = U1 + U2 + U3

b. Lending rate

The lending rate represents the rate at which lenders earn yield over time based on the interest paid by borrowers. It determines how much a lender’s deposit grows within the pool. Lending rate
LendingRate = totalborrowRate x totalUtilization x  (1 - riskFactor)

3. Interests and yield

Paystream uses index ratios to calculate interest and yield. Borrowers pay interest based on how much the BLI has grown since borrowing, while lenders earn yield from the increase in LLI since their deposit. This ensures accurate, time-based calculations without constant position updates.

a. interest paid by the borrower

interest = principal * (BLI_now_k / BLI_entry_k - 1)

b. yield earned by the lender

Yield  = deposit × (LLI_now / LLI_entry - 1)
Note - snapshot is taken every time the borrower takes a leverage/loan for the respective borrowed amount -Both LLI (for lenders) and BLI₁ / BLI₂ / BLI₃ (for borrowers) are updated at regular intervals, ideally per block.