Orbital Lending is CompXβs next-generation lending protocol on Algorand. It is designed around stateless contracts and a modular rate model, built to maximize transparency, efficiency, and composability across the ecosystem.
- LST-Centric Lending: Native support for liquid staking tokens (LSTs), making staked assets more capital-efficient.
- Composable Debt: Loans are fully interoperable across the CompX ecosystem β collateral and debt can be tracked seamlessly.
- Dynamic Rate Curves: Supports multiple interest-rate models (kinked, linear, power, asymptotic) for different market behaviors.
- Revenue Sharing: A portion of interest income is shared with CompX staking pools, creating sustainable yield for the community.
- Open & Transparent: Contracts are open source, stateless, and designed for auditability from day one.
Algorand currently has very limited lending infrastructure. Healthy ecosystems rely on multiple active lending protocols for resilience, competition, and innovation. Orbital Lending fills this gap by:
- Providing diverse rate models for different asset classes.
- Offering protocol revenue sharing to incentivize long-term participation.
- Building with stateless architecture for reduced trust assumptions and stronger security.
Below are the key parameters that define how a lending market operates. All values are expressed in basis points (bps), where 100 bps = 1%. Optional parameters are not live at launch but may be enabled in the future.
The maximum portion of your posted collateral you can borrow against. Example: 7,500 bps = 75%. Posting $100 collateral allows $75 debt. Higher LTV increases capital efficiency but reduces the safety buffer.
The loan-to-value (debt Γ· collateral) ratio at or above which a position becomes liquidatable. Example: 9,000 bps = 90%. If debt grows to 90% of collateral value, liquidators can repay debt and seize collateral. Always configure this above the borrow LTV cap to maintain a safety buffer.
A one-time fee charged when opening or increasing a loan. Example: 100 bps = 1% of borrowed amount. Helps cover protocol overhead and discourages rapid churn.
The portion of borrower interest that goes to the protocol. Example: 2,000 bps = 20%. Raising this increases treasury revenue but reduces supplier APY.
The minimum borrowing rate at 0% utilization. Ensures borrowers always pay something, even when liquidity is abundant. Typical: 50β200 bps (0.5β2%).
Maximum % of deposits that may be borrowed. Example: 8,000 bps = 80%. Leaves liquidity buffer for withdrawals and liquidations.
Where the rate curve changes slope, measured 0β10,000 across 0 β util_cap. Below kink: rates rise gently. Above kink: rates rise more steeply.
APR increase (added to base) from 0 β kink utilization. Higher slope = more sensitive early curve.
APR increase from kink β cap. Usually steeper than slope1 to strongly deter borrowing when liquidity is tight.
Absolute maximum APR regardless of utilization. 0 = no cap. Can protect borrowers from extreme spikes but reduces market-clearing power.
Weight (0β10,000) for smoothing utilization with an exponential moving average. 0 disables smoothing. Helps avoid jittery rates in volatile conditions.
Maximum APR change allowed per accrual step. 0 disables limiting. Improves predictability by preventing sudden jumps.
Stored APR from the last accrual window, used for step-limiting logic.
Tracks the exponential moving average of utilization when smoothing is active.
Selects interest-rate model:
0 = kinked(default at launch)1 = linear2 = power curve3 = asymptotic/scarcity
Exponent Ξ³ for the power-curve model, in fixed-point Q16.16 format. Values >1 make rates rise faster at higher utilization.
Controls steepness of the asymptotic rate curve near max utilization. Higher values = stronger deterrent to borrowing in scarce liquidity conditions.
Aggregate of all outstanding borrower principal plus accrued interest. Grows during accrual, shrinks on repayment or liquidation.
A cumulative multiplier (starts at INDEX_SCALE) tracking total interest accrued.
Used to calculate precise loan balances:
loan = principal Γ (current_index / entry_index)
Ledger timestamp when borrow index was last updated.
APR that applied during the last accrual window. Useful for transparency and optional step-limiting logic.
When requesting a new market (or modification of an existing one), please suggest parameter values and reasoning. Below are recommended ranges and trade-offs.
- LTV: 60β80% typical. Higher = more capital efficiency, less safety.
- Liquidation Threshold: 70β90% typical. Must exceed LTV. Wider gap = safer.
- Origination Fee: 0β100 bps typical. Discourages quick flips.
- Protocol Share: 10β30% typical. Balances treasury revenue with supplier yield.
- Base APR: 50β200 bps typical. Borrowers always pay something.
- Utilization Cap: 75β90% typical. Ensures withdrawal/liquidation buffer.
- Kink Point: 70β85% typical. Beyond this, rates rise faster.
- Slope1: 200β500 bps. Early utilization sensitivity.
- Slope2: 1,000β3,000 bps. Strong deterrent at high utilization.
- Future Models: Optional caps, smoothing, and alternative models not live at launch.
Values like borrow index, last APR, and timestamps are protocol-maintained and require no governance input.
- Capital Efficiency vs. Safety: Higher LTV = more borrowing, more risk.
- Supplier Yield vs. Borrower Cost: Steeper curves reward suppliers, cost borrowers.
- Protocol Revenue vs. User Incentives: Higher protocol share benefits treasury but lowers supplier APY.
- Liquidity Buffer: Lower utilization caps ensure liquidity for withdrawals and liquidations.
When proposing a market:
- State the asset(s) and why theyβre suitable.
- Suggest parameters (with reasoning).
- Highlight risks (price volatility, liquidity).
- Specify model type (default kinked, or future model later).