UnitFlow Lending & Borrowing
UnitFlow Lending is a fully on-chain, over-collateralised lending protocol deployed on Arc Testnet. Users supply USDC or EURC to earn variable interest, or borrow against their deposited collateral. Interest accrues every second using a RAY-precision index model, and positions are protected by a real-time health factor enforced by a dedicated liquidation engine.
Key Features
- Over-collateralised borrowing — borrow up to 66.67% of your collateral value (LTV 66.67%)
- Variable interest rates — rates adjust continuously based on pool utilisation
- Dual currency — USDC and EURC markets, each with independent rate curves
- Interest-bearing uTokens — supplying mints uUSDC/uEURC that accrue value over time
- Debt tokens — borrowing mints dUSDC/dEURC tracking your scaled debt
- Health factor protection — positions below HF 1.0 become liquidatable
- 50% close factor — liquidators repay up to half of a borrower's debt per call
- Permissionless liquidations — any wallet can liquidate an unhealthy position and earn a bonus
Protocol at a Glance
| Parameter | Value |
|---|---|
| Network | Arc Testnet (chainId 5042002) |
| Supported assets | USDC, EURC |
| Loan-to-Value (LTV) | 66.67% |
| Liquidation threshold | Health Factor < 1.0 |
| Close factor | 50% of outstanding debt per liquidation |
| Interest model | Utilisation-based variable rate (RAY precision) |
| Index precision | RAY = 10²⁷ |
| Price precision | 8 decimals (USD) |
| Token decimals | 6 (USDC & EURC) |
How It Works — Summary
- Supply — deposit USDC or EURC into the lending pool. You receive uTokens (uUSDC or uEURC) representing your share of the pool. The uToken balance grows as interest accrues.
- Borrow — once you have collateral in the pool, borrow up to 66.67% of its USD value. Debt is tracked via dTokens (dUSDC or dEURC) that accrue interest continuously.
- Repay — repay any amount of your debt at any time. Pass
type(uint256).maxto repay the full outstanding balance in one call. - Withdraw — burn uTokens to reclaim your underlying plus accrued interest. Withdrawal is blocked if it would push your health factor below 1.0.
- Liquidation — if your health factor drops below 1.0, any wallet can repay up to 50% of your debt and receive your collateral at a discount.
Pages
- Architecture — contract system, interest rate model, index math
- How to Supply — depositing assets and earning interest
- How to Borrow — borrowing, repaying, and withdrawing
- Liquidations — health factor, liquidation mechanics, running a bot
- Developer Reference — contracts, ABIs, hooks, integration patterns
Deployed Contracts
| Contract | Address | Role |
|---|---|---|
| LendingPool | 0xb6cBD47e67DeF8270916A9F756526015Fabb2f1B | Core pool — supply, borrow, repay, withdraw |
| LiquidationEngine | 0xc3f1024ff9ff178D7B321a28966F4bBCa7db3788 | Executes liquidations, computes health factors |
| InterestRateModel | 0x07AeC51d8448b4a6560ec8cB185ce396ACD2E1B9 | Calculates supply & borrow rates from utilisation |
| PriceOracle | 0x5bD0c70dDD1cC439E613dEF1Da7F06E1a24DB007 | USD prices for collateral valuation |
| FeeDistributor | 0x4fF873fAE73a5FcDa5De06E63Ef22c32207e4F0c | Receives and distributes protocol fees |
| Configurator | 0xAa7cefeb7FD04dF05CDA389bD1fc4097BDB0b61a | Admin — sets risk parameters per reserve |
| uUSDC | 0xbab299155CDC34b790e2d96DdadC3Ac64708C003 | Interest-bearing supply token for USDC |
| uEURC | 0x6bdaa941dE3D01b97B6010b2e5eFd6439ec8D2c6 | Interest-bearing supply token for EURC |
| dUSDC | 0xD21Fe44773107824cee0E36F6B38A072A02024F5 | Debt token for USDC borrows |
| dEURC | 0x169138F1551B2D4c78240e67fD0B9075d2366788 | Debt token for EURC borrows |
| USDC | 0x3600000000000000000000000000000000000000 | Underlying stablecoin |
| EURC | 0x89b50855aa3be2f677cd6303cec089b5f319d72a | Underlying euro stablecoin |
All contracts are deployed on Arc Testnet and can be inspected on ArcScan.