MOET Tokenomics
This document provides a comprehensive analysis of MOET's supply dynamics, minting and burning mechanisms, interest rate models, and economic incentives.
Supply Management
MOET employs a dynamic supply model where total supply directly tracks outstanding debt across all ALP positions.
Supply Formula
_12Total MOET Supply = Total Outstanding Debt Across All Positions_12_12Supply Changes:_12├── Increases When:_12│ ├── Users borrow MOET from ALP positions_12│ ├── ALP auto-borrows during rebalancing (HF > 1.5)_12│ └── Interest accrues on existing debt_12└── Decreases When:_12 ├── Users repay MOET debt_12 ├── Positions are liquidated (debt repaid by liquidators)_12 ├── ALP auto-repays during rebalancing (HF < 1.1)_12 └── Vaults containing MOET are destroyed
Supply Dynamics Example
Day 1: Protocol Launch
_10Initial State:_10├── Total MOET Supply: 0_10├── Total Collateral Locked: $0_10├── Active Positions: 0_10└── Utilization: N/A
Day 7: Early Adoption
_11User Activity:_11├── 10 users deposit collateral_11├── Total collateral value: $100,000_11├── Average CF: 0.8, Average Target HF: 1.3_11├── Total borrowed: $61,538 MOET_11_11Supply Metrics:_11├── Total MOET Supply: 61,538 tokens_11├── Backing: $100,000 collateral_11├── Average Collateralization: 162.5%_11└── System Health: All positions HF > 1.3
Day 30: Growth Phase
_12Market Activity:_12├── 100 users with active positions_12├── Total collateral value: $5,000,000_12├── Total borrowed: $3,076,923 MOET_12├── Accrued interest (30 days @ 10% APY): ~$25,000_12_12Supply Metrics:_12├── Total MOET Supply: 3,101,923 tokens_12│ ├── Principal: 3,076,923 MOET_12│ └── Interest: ~25,000 MOET_12├── Utilization: 62% (assuming $2M deposited, $3.1M borrowed capacity)_12└── Interest Rate: ~8% APY (moderate utilization)
Day 90: Market Volatility
_17Price Crash Scenario:_17├── Collateral values drop 30%_17├── Remaining collateral value: $3,500,000_17├── Outstanding debt: 3,101,923 MOET_17├── Many positions approach liquidation_17_17Automated Response:_17├── FYV provides: 500,000 MOET for debt repayment_17├── ALP burns: 500,000 MOET_17├── New supply: 2,601,923 MOET_17├── System health restored_17_17Supply Metrics After Rebalancing:_17├── Total MOET Supply: 2,601,923 tokens (-16%)_17├── Collateral value: $3,500,000_17├── Average HF restored to: 1.3_17└── Crisis averted through automated deleveraging
Key Insight: Supply contracts during market stress as positions automatically deleverage, reducing systemic risk.
Minting Mechanics
MOET tokens are created through a controlled minting process integrated with ALP borrowing operations.
Minter Resource
Contract Implementation:
_13// Minter resource (simplified)_13access(all) resource Minter {_13 access(all) fun mintTokens(amount: UFix64): @MOET.Vault {_13 // Create new MOET tokens_13 MOET.totalSupply = MOET.totalSupply + amount_13_13 // Emit event for transparency_13 emit TokensMinted(amount: amount)_13_13 // Return vault with minted tokens_13 return <-create Vault(balance: amount)_13 }_13}
Access Control:
- Who Can Mint: Only the account holding the Minter resource
- Storage: Stored at admin storage path on protocol deployer account
- Current Status: Centralized (single Minter created at contract initialization)
- Production Plans: Should transition to multi-sig or decentralized minting
Minting Trigger Flow
User-Initiated Borrowing:
_31Step 1: User Deposits Collateral_31├── User calls: ALP.deposit(1000 FLOW)_31├── Position created with: collateralID_31└── Collateral locked in Pool reserves_31_31Step 2: Borrow Capacity Calculation_31├── Collateral value: 1000 × $1.00 = $1,000_31├── Collateral factor: 0.8_31├── Effective collateral: $800_31├── Target health: 1.3_31├── Max borrow: $800 / 1.3 = $615.38_31└── Borrowable amount determined_31_31Step 3: Minting Request_31├── ALP calls: Minter.mintTokens(615.38)_31├── Minter creates: 615.38 new MOET tokens_31├── Vault returned to: ALP Pool_31└── Event emitted: TokensMinted(amount: 615.38, ...)_31_31Step 4: Debt Recording_31├── Position debt set to: 615.38 MOET (scaled balance)_31├── Interest index captured: I₀_31├── Position state updated: {collateral: 1000 FLOW, debt: 615.38 MOET}_31└── Health factor: 1.30_31_31Step 5: Token Distribution_31├── If pushToDrawDownSink=true:_31│ └── MOET flows to: FYV strategy_31├── If pushToDrawDownSink=false:_31│ └── MOET sent to: User's wallet_31└── User can now utilize MOET for yield farming
Automated Rebalancing (HF > 1.5):
_16Scenario: Collateral Price Increases_16├── Original: 1000 FLOW @ $1.00, debt 615.38 MOET_16├── New price: FLOW @ $1.50 (+50%)_16├── New collateral value: $1,500_16├── Effective collateral: $1,500 × 0.8 = $1,200_16├── Current HF: $1,200 / $615.38 = 1.95 > 1.5 ⚠️_16└── Opportunity for more leverage_16_16Automated Minting:_16├── Target HF: 1.3_16├── New max debt: $1,200 / 1.3 = $923.08_16├── Additional borrow: $923.08 - $615.38 = $307.70_16├── ALP mints: 307.70 MOET_16├── Debt updated: 615.38 → 923.08 MOET_16├── HF restored: $1,200 / $923.08 = 1.30 ✓_16└── Extra MOET flows to FYV for yield generation
Minting Limits and Controls
Current Implementation (Mock):
- No Hard Cap: Unlimited MOET can be minted
- Collateral Constraint: Minting limited by available collateral and CF/HF ratios
- Implicit Cap: Total supply ≤ (Total Collateral Value × Average CF) / Average Target HF
Production Requirements:
_13Recommended Limits:_13├── Per-Transaction Limit: e.g., max 100,000 MOET per mint_13├── Daily Minting Cap: e.g., max 1,000,000 MOET per 24 hours_13├── Total Supply Cap: e.g., 100,000,000 MOET absolute maximum_13├── Emergency Pause: Ability to halt minting during crises_13└── Multi-Sig Approval: Require 3-of-5 signatures for minting_13_13Risk Mitigation:_13├── Prevents single-transaction exploits_13├── Limits daily supply inflation_13├── Creates upper bound for systemic risk_13├── Enables crisis response_13└── Reduces centralization risk
Burning Mechanics
MOET tokens are permanently destroyed when debt is repaid, automatically reducing total supply.
Burn Callback
Contract Implementation:
_20// Automatic burn on vault destruction_20access(contract) fun burnCallback() {_20 if self.balance > 0 {_20 // Reduce total supply_20 MOET.totalSupply = MOET.totalSupply - self.balance_20_20 // Emit event_20 emit TokensBurned(amount: self.balance)_20_20 // Zero out balance before destruction_20 self.balance = 0_20 }_20}_20_20// Called when vault is destroyed_20destroy() {_20 // Automatic burn before destruction_20 self.burnCallback()_20 // Vault destroyed_20}
Key Features:
- Automatic: Burns happen automatically when vaults are destroyed
- Supply Accounting: Ensures total supply always accurate
- Transparent: Events emitted for every burn operation
- Irreversible: Destroyed MOET cannot be recovered
Burning Trigger Flow
Debt Repayment:
_27Step 1: User Initiates Repayment_27├── User's position: 615.38 MOET debt_27├── User has: 615.38 MOET in wallet_27└── User calls: ALP.repay(615.38 MOET)_27_27Step 2: Token Transfer_27├── MOET transferred from: User's wallet_27├── MOET transferred to: ALP Pool_27└── Vault received by protocol_27_27Step 3: Debt Settlement_27├── Position debt reduced: 615.38 → 0 MOET_27├── Scaled balance updated: 0_27├── Interest index: Captured for final calculation_27└── Position debt cleared_27_27Step 4: Automatic Burn_27├── ALP destroys received vault: destroy moetVault_27├── burnCallback() executed automatically_27├── Total supply reduced: 615.38 MOET_27├── Event emitted: TokensBurned(amount: 615.38)_27└── MOET permanently removed from circulation_27_27Step 5: Collateral Release_27├── With debt = 0, HF = infinite_27├── User can withdraw: All collateral_27└── Position can be closed
Liquidation Burning:
_27Scenario: Underwater Position_27├── Collateral: 1000 FLOW @ $0.60 = $600_27├── Effective collateral: $600 × 0.8 = $480_27├── Debt: 615.38 MOET_27├── HF: $480 / $615.38 = 0.78 < 1.0 ⚠️_27└── Position liquidatable_27_27Liquidator Action:_27├── Liquidator has: 200 MOET_27├── Calls: ALP.liquidate(positionID, 200 MOET)_27└── Goal: Profit from liquidation bonus_27_27Burning Process:_27├── Step 1: Receive 200 MOET from liquidator_27├── Step 2: Calculate collateral seizure_27│ └── Seized: (200 × 1.05) / $0.60 = 350 FLOW_27├── Step 3: Transfer 350 FLOW to liquidator_27├── Step 4: Reduce position debt: 615.38 → 415.38 MOET_27├── Step 5: Destroy 200 MOET vault (automatic burn)_27├── Step 6: Total supply: Reduced by 200 MOET_27└── Step 7: Position remains open with 650 FLOW, 415.38 MOET debt_27_27Result:_27├── 200 MOET permanently burned_27├── System becomes more solvent (debt ↓, collateral remains)_27├── Liquidator profits incentivize future liquidations_27└── Peg pressure alleviated (supply reduction)
Automated Rebalancing Burn (HF < 1.1):
_18Scenario: Collateral Price Drop_18├── Original: 1000 FLOW @ $1.00, debt 615.38 MOET_18├── New price: FLOW @ $0.85 (-15%)_18├── New collateral value: $850_18├── Effective collateral: $850 × 0.8 = $680_18├── Current HF: $680 / $615.38 = 1.11 > 1.0 but < 1.1 ⚠️_18└── Below minimum threshold_18_18Automated Burning:_18├── Target HF: 1.3_18├── New target debt: $680 / 1.3 = $523.08_18├── Must repay: $615.38 - $523.08 = $92.30 MOET_18├── ALP pulls from TopUpSource (FYV)_18├── FYV provides: 92.30 MOET (from yield)_18├── ALP burns: 92.30 MOET (debt repayment)_18├── Debt updated: 615.38 → 523.08 MOET_18├── HF restored: $680 / $523.08 = 1.30 ✓_18└── Supply reduced: 615.38 → 523.08 MOET
Burn Rate Analysis
Factors Influencing Burn Rate:
_13High Burn Rate (Supply Contracts):_13├── Market downturns → Forced deleveraging_13├── Rising interest rates → Incentivized repayment_13├── Liquidations → Debt cleared by liquidators_13├── Yield maturity → FYV returns exceed new borrowing_13└── Collateral appreciation → Users reduce leverage_13_13Low Burn Rate (Supply Expands):_13├── Bull markets → More borrowing demand_13├── Low interest rates → Cheap capital attracts users_13├── High yield opportunities → More FYV deployment_13├── New collateral types → Expanded borrowing capacity_13└── Protocol growth → More users entering system
Example Burn Scenarios:
_17Bear Market (30 Days):_17├── Total supply start: 3,100,000 MOET_17├── Liquidations: -200,000 MOET burned_17├── Auto-rebalancing: -500,000 MOET burned_17├── Voluntary repayment: -300,000 MOET burned_17├── New borrowing: +150,000 MOET minted_17├── Net change: -850,000 MOET_17└── Total supply end: 2,250,000 MOET (-27.4%)_17_17Bull Market (30 Days):_17├── Total supply start: 2,250,000 MOET_17├── New borrowing: +800,000 MOET minted_17├── Auto-leverage: +300,000 MOET minted_17├── Repayments: -150,000 MOET burned_17├── Liquidations: -50,000 MOET burned_17├── Net change: +900,000 MOET_17└── Total supply end: 3,150,000 MOET (+40%)
Key Insight: Supply naturally contracts during stress (reducing risk) and expands during growth (increasing capital efficiency).
Interest Rate Model
MOET borrowing costs are determined by a utilization-based interest rate curve that automatically balances supply and demand.
Utilization Rate
_10Utilization Rate (U) = Total MOET Borrowed / Total MOET Available_10_10Components:_10├── Total MOET Borrowed: Sum of all debt across positions_10├── Total MOET Available: MOET deposited + mintable capacity_10└── Range: 0% (no borrowing) to 100% (fully utilized)
Interest Rate Curve
Kink Model (similar to Compound/Aave):
_12Rate Calculation:_12├── If U ≤ Optimal Utilization (e.g., 80%):_12│ └── Rate = BaseRate + (U / OptimalU) × Multiplier_12└── If U > Optimal Utilization:_12 └── Rate = BaseRate + Multiplier + ((U - OptimalU) / (1 - OptimalU)) × JumpMultiplier_12_12Example Parameters:_12├── BaseRate: 2% APY_12├── Multiplier: 8% APY_12├── OptimalUtilization: 80%_12├── JumpMultiplier: 40% APY_12└── MaxRate: 50% APY (at 100% utilization)
Visual Representation:
_16Interest Rate vs. Utilization_16_16 50% │ ╱_16 │ ╱_16 40% │ ╱_16 │ ╱_16 30% │ ╱_16 │ ╱_16 20% │ ╱╱╱← Kink at 80% utilization_16 │ ╱╱╱_16 10% │ ╱╱╱_16 │ ╱╱╱_16 2% │╱╱╱╱╱╱╱_16 └─────────────────────────────────────_16 0% 20% 40% 60% 80% 100%_16 Utilization Rate
Interest Rate Examples
Low Utilization (20%):
_17Market Conditions:_17├── Total MOET capacity: 10,000,000_17├── Total MOET borrowed: 2,000,000_17├── Utilization: 20%_17└── Plenty of available capital_17_17Interest Rate Calculation:_17├── U = 20% < 80% (below kink)_17├── Rate = 2% + (20%/80%) × 8%_17├── Rate = 2% + 0.25 × 8%_17├── Rate = 2% + 2%_17└── Borrowing Cost: 4% APY_17_17Market Effect:_17├── Cheap borrowing encourages more positions_17├── Lenders earn low yield (limited demand)_17└── System incentivizes borrowing to increase utilization
Optimal Utilization (80%):
_17Market Conditions:_17├── Total MOET capacity: 10,000,000_17├── Total MOET borrowed: 8,000,000_17├── Utilization: 80%_17└── Balanced market_17_17Interest Rate Calculation:_17├── U = 80% (at kink)_17├── Rate = 2% + (80%/80%) × 8%_17├── Rate = 2% + 1.0 × 8%_17├── Rate = 2% + 8%_17└── Borrowing Cost: 10% APY_17_17Market Effect:_17├── Moderate borrowing cost_17├── Lenders earn attractive yield_17└── System in equilibrium
High Utilization (95%):
_19Market Conditions:_19├── Total MOET capacity: 10,000,000_19├── Total MOET borrowed: 9,500,000_19├── Utilization: 95%_19└── Capital constrained_19_19Interest Rate Calculation:_19├── U = 95% > 80% (above kink)_19├── Rate = 2% + 8% + ((95% - 80%) / (100% - 80%)) × 40%_19├── Rate = 10% + (15% / 20%) × 40%_19├── Rate = 10% + 0.75 × 40%_19├── Rate = 10% + 30%_19└── Borrowing Cost: 40% APY_19_19Market Effect:_19├── Very expensive borrowing discourages new positions_19├── High rates incentivize debt repayment_19├── Lenders earn exceptional yield_19└── System self-balances toward optimal utilization
Compound Interest Accrual
MOET uses continuous compounding through the scaled balance system:
Interest Index Growth:
_17Index Update Formula:_17I(t+1) = I(t) × (1 + r × Δt)_17_17Where:_17├── I(t): Current interest index_17├── r: Interest rate per second_17├── Δt: Time elapsed since last update_17└── I(t+1): New interest index_17_17Example (10% APY):_17├── I₀ = 1.0 (initial)_17├── r = 10% / (365.25 × 24 × 3600) = 3.17 × 10⁻⁹ per second_17├── After 30 days:_17│ ├── Δt = 30 × 24 × 3600 = 2,592,000 seconds_17│ ├── I₃₀ = 1.0 × (1 + 3.17×10⁻⁹ × 2,592,000)_17│ └── I₃₀ ≈ 1.00821 (0.821% growth in 30 days)_17└── After 1 year: I₃₆₅ ≈ 1.10517 (10.517% including compounding)
User Debt Calculation:
_14True Debt = Scaled Balance × Current Index_14_14Example:_14├── User borrows: 1,000 MOET at I₀ = 1.0_14├── Scaled balance stored: 1,000_14├── After 1 year: I₃₆₅ = 1.10517_14├── True debt: 1,000 × 1.10517 = 1,105.17 MOET_14└── Interest accrued: 105.17 MOET (10.517%)_14_14Gas Efficiency:_14├── Only global index updated per block_14├── Individual balances never updated in storage_14├── Calculation performed on-demand_14└── Scales to millions of positions efficiently
Economic Incentives
MOET's tokenomics create aligned incentives for all participants:
For Borrowers
Benefits:
_17Cheap Leverage:_17├── Borrow at: 5-10% APY (typical)_17├── Deploy to FYV yielding: 10-20% APY_17├── Net profit: 5-10% APY on borrowed capital_17└── Amplified returns on collateral_17_17Capital Efficiency:_17├── 1000 FLOW collateral → 615 MOET borrowed_17├── Total exposure: 1615 MOET equivalent_17├── Effective leverage: 1.615x_17└── Higher returns than holding collateral alone_17_17Automated Protection:_17├── FYV yield auto-repays during downturns_17├── No manual position management needed_17├── Reduced liquidation risk_17└── Peace of mind
Costs:
_10Interest Payments:_10├── Debt grows at: Current APY (5-40%)_10├── Must be repaid eventually_10└── Erodes profits if yield < interest_10_10Liquidation Risk:_10├── If HF < 1.0, position liquidatable_10├── Lose collateral (minus debt)_10├── 5% penalty to liquidator_10└── Must monitor position health
For Liquidators
Profit Opportunity:
_13Liquidation Profit:_13├── Repay: X MOET of underwater debt_13├── Receive: X × (1 + bonus) / collateral_price in collateral_13├── Bonus: Typically 5%_13└── Risk-free arbitrage when HF < 1.0_13_13Example:_13├── Repay: 1,000 MOET_13├── Collateral: FLOW @ $0.80_13├── Receive: (1,000 × 1.05) / $0.80 = 1,312.5 FLOW_13├── Value: 1,312.5 × $0.80 = $1,050_13├── Profit: $1,050 - $1,000 = $50 (5%)_13└── Incentivizes holding MOET for liquidation opportunities
Requirements:
_10Capital Needed:_10├── Must hold MOET to liquidate_10├── Larger positions = more profit_10└── Creates natural MOET demand_10_10Monitoring:_10├── Run keeper bots to detect liquidations_10├── Gas costs for transactions_10├── Competition with other liquidators_10└── Requires technical infrastructure
For Protocol (DAO/Treasury)
Revenue Streams (future implementation):
_13Protocol Fees:_13├── Interest spread: 10% of interest paid_13├── Liquidation fees: 1% of liquidated value_13├── Minting fees: Small fee on MOET creation_13└── Withdrawal fees: Small fee on collateral withdrawal_13_13Example Revenue (1 month):_13├── Total debt: 10,000,000 MOET @ 10% APY_13├── Monthly interest: 10,000,000 × 0.10 / 12 = 83,333 MOET_13├── Protocol fee: 83,333 × 0.10 = 8,333 MOET_13├── Liquidations: 500,000 MOET × 0.01 = 5,000 MOET_13├── Total revenue: 13,333 MOET/month_13└── Use for: Development, security audits, reserves
Token Metrics Summary
Supply Characteristics:
| Metric | Value |
|---|---|
| Initial Supply | 0 MOET (mainnet/testnet), 1M MOET (emulator) |
| Max Supply | Unlimited (constrained by collateral) |
| Supply Type | Dynamic (elastic) |
| Issuance | Mint-on-borrow |
| Destruction | Burn-on-repay (automatic) |
| Backing | Over-collateralized debt positions |
Economic Parameters:
| Parameter | Typical Value |
|---|---|
| Collateral Factor | 0.8 (80%) |
| Target Health Factor | 1.3 |
| Collateralization Ratio | 162.5% |
| Base Interest Rate | 2% APY |
| Optimal Utilization | 80% |
| Max Interest Rate | 50% APY |
| Liquidation Bonus | 5% |
| Minimum Health Factor | 1.0 (liquidation threshold) |
Growth Metrics Example:
_17Month 1:_17├── Supply: 1,000,000 MOET_17├── Collateral: $1,625,000_17├── Positions: 50_17└── Utilization: 40%_17_17Month 6:_17├── Supply: 10,000,000 MOET (+900%)_17├── Collateral: $16,250,000 (+900%)_17├── Positions: 500 (+900%)_17└── Utilization: 65% (+62.5%)_17_17Month 12:_17├── Supply: 50,000,000 MOET (+400%)_17├── Collateral: $81,250,000 (+400%)_17├── Positions: 2,500 (+400%)_17└── Utilization: 75% (+15.4%)
Next Steps
- System Integration: Learn how MOET connects ALP, FYV, and FCM
- Stability Mechanisms: Understand risk management and safety measures
- FCM Math: Explore the mathematical formulas behind MOET mechanics