Lending Protocol
An orderbook-based money market with true interest rate discovery, fixed-rate terms, a real-time yield curve, and MEV-free liquidation.
Core Insight
Rate = Price. Lend = Ask. Borrow = Bid. The existing matching engine handles lending orders identically to spot orders — no separate infrastructure needed.
Why Orderbook Lending?
Every major lending protocol — Aave, Compound, Morpho — uses algorithmic rate curves. A governance-set formula converts pool utilization into an interest rate. Everyone gets the same rate. Nobody controls their terms.
Vortum replaces the formula with a market: lenders and borrowers state their terms, and the orderbook matches them.
| Pool-Based (Aave) | Orderbook (Vortum) | |
|---|---|---|
| Rate setting | Algorithm decides | Market discovers |
| Lender control | None — take the pool rate | Set minimum rate via limit order |
| Borrower control | None — take the pool rate | Set maximum rate via limit order |
| Fixed rates | Not possible | Native via term books |
| Capital efficiency | 30-40% utilization | 100% for matched capital |
| Term lending | Not possible | Multiple duration books |
| Liquidation | MEV bot race | Canister-executed, fair |
| Keepers | Required (external bots) | None (canister timers) |
How It Works
The Rate Book
A lending market is an orderbook where orders represent lending and borrowing offers:
A match occurs when the borrower's bid rate ≥ the lender's ask rate. Price-time priority determines fill order, identical to spot trading.
Matching → Loan Origination
When orders match, instead of transferring assets (spot), the system creates a loan position:
Order Types
All existing order types apply to lending:
| Order Type | Lending Usage |
|---|---|
| Limit | "Lend at exactly 5%" / "Borrow at max 7%" |
| Market | "Lend at best available rate" / "Borrow at any rate" |
| GTC | Stays open until filled or cancelled |
| GTD | Expires at a set time — natural for term lending |
| IOC | Fill immediately or cancel |
| FOK | Fill entire amount or nothing |
Term Structure & Yield Curve
Multiple Duration Books
Each lendable asset has separate orderbooks per term, like bond markets:
USDC Lending Markets
├── USDC_LEND_OPEN → Variable rate, withdraw anytime
├── USDC_LEND_1D → 1-day fixed (overnight)
├── USDC_LEND_7D → 1-week fixed
├── USDC_LEND_14D → 2-week fixed
├── USDC_LEND_30D → 1-month fixed
└── USDC_LEND_90D → 3-month fixedThe DeFi Yield Curve
The best rates from each term book form a yield curve — the foundation of fixed-income pricing in traditional finance, and something that doesn't exist in DeFi today.
- Predictability — a borrower sees exactly what a 30-day loan costs before committing
- Sentiment signal — a steep curve signals uncertainty; an inverted curve signals stress
- Institutional readiness — fixed-rate terms enable treasury planning and risk budgeting
- Composability — other protocols can consume the curve as an on-chain rate oracle
A Missing Primitive
Traditional finance has had yield curves since the 1970s. They drive pricing for mortgages, corporate bonds, and derivatives. Vortum creates the first DeFi yield curve from real orderbook data — actual supply and demand, not a model or governance vote.
Collateral System
Multi-Asset Collateral
Borrowers deposit collateral before placing borrow orders. Each asset has a loan-to-value (LTV) factor reflecting its risk profile:
| Collateral | LTV | Borrow Power per $10K |
|---|---|---|
| USDC | 95% | $9,500 |
| BTC | 75% | $7,500 |
| ETH | 75% | $7,500 |
| SOL | 65% | $6,500 |
| ICP | 60% | $6,000 |
Health Factor
| Health Factor | Status |
|---|---|
| > 1.5 | Safe |
| 1.0 – 1.5 | Warning — consider adding collateral |
| < 1.0 | Liquidatable |
Health = Collateral Value (weighted by LTV) / Total Borrow ValueCross-Chain Collateral
Vortum supports native Bitcoin as collateral — not a wrapped token or bridge IOU, but actual BTC on the Bitcoin network.
ICP canisters hold signing keys for multiple blockchains via threshold cryptography — no bridges, no custody intermediaries.
Canister-Managed Lifecycle
On Ethereum, every time-dependent lending action needs external bots — someone must trigger interest accrual, MEV bots compete for liquidations, keepers trigger maturity settlement.
On Vortum, the canister handles all of this via ICP's native timer system:
No keepers, no bots, no MEV.
Liquidation
When a borrower's health factor drops below 1.0, the canister executes the liquidation directly — positions processed by health factor (worst first), partial liquidation to minimize borrower impact, tiered penalty by severity:
| Health Factor | Penalty | Approach |
|---|---|---|
| 0.95 – 1.00 | 2% | Soft — minimal impact |
| 0.80 – 0.95 | 5% | Standard |
| < 0.80 | 10% | Urgent — clear risk quickly |
Because ICP has no mempool, there's no frontrunning or sandwich attacks on liquidations. The protocol determines the outcome, not competing bots.
Embedded Lending
Auto-Lend Idle Capital
Traders often have idle USDC between trades. With auto-lend, that capital earns yield automatically:
Capital routing happens atomically — no separate transactions, no delays.
Configuration
| Setting | Description | Default |
|---|---|---|
| Enabled | Toggle auto-lending | Off |
| Min Rate | Floor APR for lending | 2% |
| Max Term | Longest allowed duration | Open |
| Reserve | Amount to keep unlent | 0 |
| Assets | Which assets to auto-lend | USDC |
Loan Lifecycle
Open-Term
- Either party can exit anytime
- Recall gives borrower a grace period to repay or refinance
- Rate fixed at match time — re-enter the book for a new rate
Fixed-Term
- Rate locked for the entire term
- At maturity: repay, auto-rollover at current market rate, or enter grace period
- Early repayment allowed with configurable fee
Risk Management
Protocol Safeguards
| Risk | Mitigation |
|---|---|
| Oracle failure | Multi-source with median pricing; pause new borrows if all fail |
| Bad debt | Conservative LTV ratios + insurance fund from lending fees |
| Liquidity crisis | Fixed-term loans can't be recalled; open-term has grace periods |
| Rate manipulation | Circuit breaker pauses if rates move >500bps in one hour |
| Canister bugs | Settlement simulation tests; stable memory for loan data |
Market Parameters
Each lending market has configurable risk controls:
| Parameter | Example | Purpose |
|---|---|---|
| Max total borrows | 10M USDC | Protocol-wide cap |
| Max single borrow | 1M USDC | Per-user limit |
| Min borrow amount | 100 USDC | Dust prevention |
| Liquidation threshold | Health < 1.0 | Liquidation trigger |
| Liquidation penalty | 2–10% | Incentivize healthy positions |
| Insurance contribution | 0.1% of interest | Bad debt backstop |
| Max interest rate | 100% APR | Reject extreme orders |
| Grace period | 24 hours | Matured loan repayment window |
Fees
| Fee | Amount | Paid By | Purpose |
|---|---|---|---|
| Origination | 0.1% of principal | Borrower | Revenue at loan creation |
| Liquidation penalty | 2–10% | Borrower | Position health incentive |
| Insurance | 0.1% of interest | Lender (deducted) | Bad debt backstop |
| Early repayment | 0–1% | Borrower | Compensate lender for lost yield |
Lenders receive the full matched rate — the protocol takes no spread on interest.
Challenges
| Challenge | Approach |
|---|---|
| Liquidity bootstrapping | Launch with single USDC market + incentives |
| Thin term books initially | Market makers and programmatic strategies |
| Oracle dependency | Multi-source with median, conservative LTVs |
| More complex than "deposit & earn" | Auto-lend abstracts it for casual users |
| ICP ecosystem size | Cross-chain collateral attracts users from other chains |
Roadmap
Phase 1 — Core Lending
Single-asset (USDC) open-term lending with ICP collateral.
- Lending market type in trading engine
- Collateral vault with deposit/withdraw
- Loan origination from orderbook matches
- Interest accrual via canister timer
- Canister-executed liquidation
USDC_LEND_OPENmarket
Phase 2 — Term Structure
Multiple duration books, fixed-rate lending, yield curve.
- Term-specific markets (1D, 7D, 14D, 30D, 90D)
- Maturity and rollover handling
- Yield curve aggregation and query API
- Early repayment with configurable fees
Phase 3 — Cross-Chain Collateral
Native BTC and SOL as collateral via Chain Fusion.
- Bitcoin deposits via threshold Schnorr
- Solana deposits via threshold Ed25519
- Multi-asset portfolio health factor
- Cross-chain price oracle via HTTPS outcalls
Phase 4 — Embedded Lending
Auto-lend for traders, cross-margin between lending and trading.
- Auto-lend engine with user preferences
- Atomic capital routing between lending and trading
- Cross-margin recognition
- Borrow-to-trade flow
Phase 5 — Advanced Features
DeFi composability and derivative products.
- Flash loans (borrow + repay in single call)
- Transferable loan position tokens
- Interest rate futures and options
- Governance controls for risk parameters