Products
Stablecoin Borrowing
Users lock a basket and borrow mUSD — a USDC-pegged stablecoin over-collateralized by tokenized equity. Borrow interest is the fuel that pays locker yield: the whole point of Marian is that this loop is native and self-funded.
How it works
- User transfers their basket shares into the BorrowMarket (a per-basket isolated pool).
- RiskEngine computes their collateral factor CF and health factor HF.
- User mints mUSD up to CF · NAV · shares.
- Interest accrues per block; user repays anytime; on repay their basket is unlocked.
Collateral factor
Each basket has a base CF calibrated to its volatility. Locking amplifies it via a boost curve:
CF_i = CF_base,i + ΔCF_boost(L_i) CF_base is set per basket: mSP7 → 65% bDIV25 → 70% (lower vol → higher CF) bNDX → 60% bXLE → 55% (higher sector vol) ΔCF_boost is a linear ramp on lock duration L (months): ΔCF_boost(L) = min( 0.005 · L , 0.12 ) // capped at +12% Examples: mSP7 + no lock → 65% mSP7 + 12-month lock → 71% mSP7 + 48-month lock → 77% (max CF) bDIV25 + 48-month lock → 82% (protocol max)
Interest rate model
mUSD borrow APR is a two-slope kinked curve on utilization U = borrowed / supplied:
For U ≤ U_opt (80%): r_borrow(U) = r_0 + U · ( r_opt − r_0 ) / U_opt For U > U_opt: r_borrow(U) = r_opt + ( U − U_opt ) · ( r_max − r_opt ) / ( 1 − U_opt ) Parameters: r_0 = 0.01 (1% base) r_opt = 0.05 (5% at 80% utilization) r_max = 0.60 (60% at 100% utilization) U_opt = 0.80
Sample rate table
| Utilization | Borrow APR | Locker APY (70%) | Insurance (20%) |
|---|---|---|---|
| 0% | 1.00% | — | — |
| 25% | 2.25% | 1.575% | 0.450% |
| 50% | 3.50% | 2.450% | 0.700% |
| 70% | 4.50% | 3.150% | 0.900% |
| 80% (kink) | 5.00% | 3.500% | 1.000% |
| 90% | 32.50% | 22.75% | 6.500% |
| 100% | 60.00% | 42.00% | 12.00% |
Health factor
HF_i = ( Σ_j c_i,j · L_i,j · P_j ) / D_i where: c_i,j = quantity of collateral asset j for user i L_i,j = liquidation threshold of asset j (= CF + 3% buffer) P_j = oracle price of asset j D_i = user's mUSD debt Liquidatable if: HF_i < 1.00 Warning zone: 1.00 ≤ HF_i < 1.15
Peg
1.00 USDC
PSM-backed
Debt ceiling
$200M
per basket market
Liquidation penalty
6.0%
capped
Max liq. per event
50%
of user debt
Full example — Alice's position
Alice holds 10,000 mSP7 (NAV $10.00, so $100,000 collateral value) and locks for 24 months → CF = 65% + 12% × min(24/24, 1) · 0.5 = 71%.
Max borrow = 100,000 · 0.71 = 71,000 mUSD Alice borrows = 60,000 mUSD (LTV = 60%, safe) Liquidation thresh = 0.71 + 0.03 = 74% Liquidation price = 60,000 / (10,000 · 0.74) = $8.11 Price drop before liquidation: ( 10.00 − 8.11 ) / 10.00 = 18.9% At 5% borrow APR on 60,000: Annual interest paid = 3,000 mUSD Locker share (70%) = 2,100 mUSD Insurance share (20%) = 600 mUSD Treasury (10%) = 300 mUSD If Alice is also a locker of 40,000 veMRN (0.055% of ve_total), her share of that 2,100 is: 1.16 mUSD (plus dividends and boost). The system is symmetric: as more Alices borrow, all lockers benefit.
Why this loop is stable
Because borrow interest funds locker yield, and locker yield attracts locks that reduce $MRN float, the protocol has a natural anti-dilution reflex whenever demand for leverage rises. Rising utilization → rising fees → rising locker APR → more locks → tighter float → higher $MRN price → deeper collateral capacity.