Core Concepts
Osito Protocol approaches DeFi lending through an innovative mathematical model that calculates safe lending limits without relying on oracles or price feeds. This page explains the core concepts of Osito's oracle-free lending approach.
The Oracle Challenge
Traditional DeFi lending protocols typically determine lending limits based on asset prices:
- Price Oracles: External data feeds that report asset prices
- Governance: Teams/DAOs that decide which assets are acceptable collateral
- Risk Parameters: Assessments of appropriate loan-to-value ratios
These approaches have potential challenges:
- Oracles can experience issues during volatile markets
- Governance can lead to subjective decision-making
- Risk parameters require ongoing calibration
Osito's Approach: Worst-Case Scenarios
Osito Protocol takes a different approach. Instead of asking "what is this token worth?", it asks:
"How much BERA could be extracted from the protocol in the worst-case scenario?"
This allows the protocol to calculate safe lending limits based solely on on-chain data, without needing to determine token value.
The Borrow Limit Formula
Osito's core security formula is:
max_borrow = pool_BERA - extractable_BERA
Where:
pool_BERA
is the BERA locked in the liquidity poolextractable_BERA
is the maximum BERA that could be extracted by selling all circulating tokens
This formula ensures that borrowing limits remain conservative enough to protect protocol solvency.
How Borrow Limits Are Calculated
The protocol calculates extraction scenarios as follows:
- It measures the current state of the liquidity pool
- It calculates how many tokens are "dumpable" (circulating and not already in the pool, staked, or deposited)
- It determines how much BERA could be extracted if all dumpable tokens were sold
- It sets the lending limit below this amount
This approach establishes lending limits that don't require price oracles or subjective assessments.
Key Protocol Roles
Osito creates an ecosystem with three distinct participant roles:
1. BERA Lenders
- Deposit BERA to earn interest
- Interest rates scale with utilization (0% to 10,000% APR)
- Can withdraw BERA up to the point that total BERA borrowed = total BERA supplied
- Benefit from interest generated by borrowers
2. Token Depositors
- Use eligible tokens as collateral to borrow BERA
- Each position has a specific borrowing limit based on:
- The token's global borrowing limit
- The position's share of total deposits
- Can withdraw tokens when position debt ≤ position max borrow
- Pay interest on borrowed amounts
3. Token Stakers
- Stake tokens to earn yield without taking on debt
- Staking reduces circulating supply, potentially increasing borrowing capacity
- Can withdraw tokens when total debt against a token ≤ total max borrow
- Earn yield from token-specific interest
Pool-Specific Calculations
Osito handles different pool types with appropriate calculations:
CPMM Pools (Constant Product)
For traditional x*y=k pools, the extraction formula is:
extractable_BERA = (pool_BERA * pool_tokens) / (pool_tokens + dumpable_tokens)
CLMM Pools (Concentrated Liquidity)
For concentrated liquidity pools, the extraction formula is more conservative:
extractable_BERA = dumpable_tokens * pool_BERA/pool_tokens / 2
These formulas ensure that lending limits are appropriately calculated for each pool type.
Non-Monotonic Borrowing Power
An interesting property of Osito is that borrowing power doesn't increase linearly:
As more tokens are deposited as collateral, two competing effects occur:
- Positive effect: Global
max_borrow
may increase as dumpable supply decreases - Negative effect: Each individual's borrowing power may dilute as total deposited increases
This creates a balance between individual and protocol-wide borrowing dynamics.
Token Eligibility Requirements
Tokens can be used as collateral if they meet two objective criteria:
- Fixed Supply: The token must have a provably fixed supply (deployed by whitelisted factories)
- Verifiably Burned LP: A portion of the token's LP tokens must be permanently destroyed
These requirements ensure that the borrow limit calculations can function correctly.
Real-Time Updates
Osito updates its parameters in real-time:
- Just-In-Time Data Fetching: Pool values are queried at key moments
- Event-Driven Updates: State updates when users interact with the protocol
- Index-Based Interest Accrual: Interest accrues through global indices
- Liquidation Mechanism: Positions are fully liquidated when borrowing exceeds limits
This ensures the protocol's calculations remain accurate as conditions change.
Key Protocol Benefits
By calculating lending limits based on worst-case scenarios, Osito provides several benefits:
- No oracle dependency: Calculations use on-chain data
- Minimal governance requirements: Parameters are derived from formulas
- Objective token criteria: Token eligibility based on verifiable properties
- Permissionless integration: Any token meeting criteria can be used