LLM Notice: This documentation site supports content negotiation for AI agents. Request any page with Accept: text/markdown or Accept: text/plain header to receive Markdown instead of HTML. Alternatively, append ?format=md to any URL. All markdown files are available at /md/ prefix paths. For all content in one file, visit /llms-full.txt
Skip to main content

MOET's Role in ALP

MOET plays a central role in ALP as the default token and primary unit of account. Understanding MOET's function is essential for effectively using ALP and Flow Credit Market (FCM). It standardizes pricing, enables automation, and makes yield-powered liquidation prevention possible.

MOET is a fungible token on Flow that serves as:

  • πŸ’° The primary borrowed asset - What you borrow from ALP
  • πŸ“Š The unit of account - All prices quoted in MOET terms
  • πŸ”„ The rebalancing medium - Used for all automated operations
  • πŸŒ‰ The value bridge - Flows between ALP and FYV

For more about MOET tokenomics, see the MOET documentation.

MOET as Unit of Account​

Think of MOET as the "common language" for all value in ALP - like how everything in a store is priced in dollars.

All Prices in MOET Terms​


_10
graph TD
_10
MOET[MOET<br/>Unit of Account]
_10
MOET --> FLOW[FLOW = 1.0 MOET]
_10
MOET --> USDC[USDC = 1.0 MOET]
_10
MOET --> stFLOW[stFLOW = 1.05 MOET]
_10
MOET --> Other[Other tokens...]
_10
_10
style MOET fill:#fbb,stroke:#333,stroke-width:4px

Why this matters: Using MOET as the unit of account simplifies calculations by expressing all values in one currency, standardizes pricing consistently across all tokens, enables multi-collateral positions by making it easy to compare different assets, and provides unified risk management through a single health metric.

Health factor calculation example:


_10
Collateral: 1000 FLOW @ 1.0 MOET each Γ— 0.8 factor = 800 MOET value
_10
Debt: 615.38 MOET
_10
Health Factor = 800 / 615.38 = 1.30
_10
_10
All in MOET terms = Simple and consistent!

Why Not Just Use USD?

MOET is designed specifically for Flow DeFi, ensuring deep on-chain liquidity, native protocol integration, optimized performance for Flow operations, and better composability with FYV and other protocols.

MOET in the Auto-Borrowing Flow​

When you deposit collateral with auto-borrowing enabled, MOET is what you borrow:


_14
sequenceDiagram
_14
participant User
_14
participant ALP
_14
participant MOET
_14
_14
User->>ALP: Deposit 1000 FLOW
_14
ALP->>ALP: Calculate: 1000 Γ— 0.8 = 800 effective
_14
ALP->>ALP: Target health: 1.3
_14
ALP->>ALP: Can borrow: 800 / 1.3 = 615.38
_14
ALP->>MOET: Auto-borrow 615.38 MOET
_14
MOET->>User: Receive 615.38 MOET
_14
ALP->>ALP: Health = 1.3 βœ“
_14
_14
Note over User,MOET: All automatic, no manual steps!

Why MOET?

  1. Standardization: One primary asset simplifies everything
  2. Liquidity: MOET designed for high liquidity
  3. Predictability: You always know what you'll receive
  4. Efficiency: No token choice complexity

MOET in Rebalancing​

Overcollateralized: Borrow More MOET​

When health rises above 1.5 (too safe), ALP automatically borrows more MOET:


_10
graph LR
_10
A[Health > 1.5<br/>Too Safe] --> B[Calculate Excess]
_10
B --> C[Auto-borrow MOET]
_10
C --> D[Push to DrawDownSink]
_10
D --> E[Health = 1.3 βœ“]
_10
_10
style A fill:#bfb
_10
style E fill:#bfb

Example:


_10
State: $1000 effective collateral, $400 MOET debt
_10
Health: 1000 / 400 = 2.5 (way too high!)
_10
_10
Action: Borrow 769.23 - 400 = 369.23 more MOET
_10
Result: $1000 / $769.23 = 1.3 (perfect!)

Undercollateralized: Repay MOET​

When health drops below 1.1 (risky), ALP automatically repays MOET debt:


_10
graph LR
_10
A[Health < 1.1<br/>Risky!] --> B[Calculate Shortfall]
_10
B --> C[Pull from TopUpSource]
_10
C --> D[Repay MOET debt]
_10
D --> E[Health = 1.3 βœ“]
_10
_10
style A fill:#fbb
_10
style E fill:#bfb

Example:


_10
State: $640 effective collateral (price dropped!), $615.38 MOET debt
_10
Health: 640 / 615.38 = 1.04 (danger zone!)
_10
_10
Action: Repay 615.38 - 492.31 = 123.07 MOET
_10
Result: $640 / $492.31 = 1.3 (safe again!)

Math reference: See FCM Mathematical Foundations for auto-borrowing formulas and Rebalancing Mathematics for rebalancing calculations.

MOET Flow Patterns​

Pattern 1: Simple Borrowing​

Use case: Borrow MOET, use it yourself


_10
graph LR
_10
User[Deposit FLOW] --> ALP[ALP Position]
_10
ALP --> Auto[Auto-borrow MOET]
_10
Auto --> Wallet[Your Wallet]
_10
Wallet --> Use[Use MOET<br/>Yield/Trading/etc]
_10
_10
style ALP fill:#f9f,stroke:#333,stroke-width:2px

Flow: Collateral β†’ Borrow MOET β†’ You control it

Pattern 2: FCM Integration (Full Automation)​

Use case: Maximum automation with FYV


_15
graph TB
_15
User[Deposit FLOW] --> ALP[ALP Position]
_15
ALP -->|Auto-borrow| MOET[MOET]
_15
MOET -->|DrawDownSink| FYV[FYV Strategy]
_15
FYV -->|Generate Yield| Yield[Yield Tokens]
_15
_15
Price[Price Drop] -.->|Triggers| Rebal[Rebalancing]
_15
Rebal -->|Pull via TopUpSource| FYV
_15
FYV -->|Provide MOET| ALP
_15
ALP -->|Repay| MOET
_15
ALP -->|Health Restored| Safe[Health = 1.3 βœ“]
_15
_15
style ALP fill:#f9f,stroke:#333,stroke-width:3px
_15
style FYV fill:#bfb,stroke:#333,stroke-width:3px
_15
style MOET fill:#fbb,stroke:#333,stroke-width:2px

Flow: Collateral β†’ Auto-borrow MOET β†’ FYV β†’ Yield protects position!

FCM's Innovation

This is why FCM is unique: Your MOET earnings from FYV automatically repay debt when needed. Yield-powered liquidation prevention!

Learn more: FCM Basics

Pattern 3: Liquidity Provision​

Use case: Earn trading fees with borrowed MOET


_10
graph LR
_10
Collateral[FLOW Collateral] --> ALP[ALP Position]
_10
ALP -->|Borrow| MOET[MOET]
_10
MOET -->|Add Liquidity| LP[LP Pool<br/>MOET/FLOW]
_10
LP -->|Earn| Fees[Trading Fees]
_10
_10
style LP fill:#bbf,stroke:#333,stroke-width:2px

Flow: Collateral β†’ Borrow MOET β†’ LP Pool β†’ Earn trading fees

Pattern 4: Yield Arbitrage​

Use case: Profit from rate differentials


_10
graph LR
_10
ALP[Borrow from ALP<br/>5% APY] -->|MOET| Protocol[Lend to Protocol<br/>8% APY]
_10
Protocol -->|Earn| Spread[3% Spread<br/>Profit!]
_10
_10
style Spread fill:#bfb,stroke:#333,stroke-width:2px

Flow: Borrow MOET cheap β†’ Lend MOET expensive β†’ Keep spread

MOET in Liquidations​

Keeper Liquidations​

Keepers repay MOET debt to seize collateral:


_12
sequenceDiagram
_12
participant Keeper
_12
participant ALP
_12
participant Position
_12
_12
Keeper->>Keeper: Detect HF < 1.0
_12
Keeper->>ALP: Repay 100 MOET
_12
ALP->>Position: Reduce debt by 100 MOET
_12
ALP->>Keeper: Seize collateral + bonus
_12
Position->>Position: Health = 1.05 βœ“
_12
_12
Note over Keeper,Position: Keeper earns liquidation bonus

Protocol DEX Liquidations​

Protocol swaps collateral to MOET automatically:


_10
graph LR
_10
A[Liquidatable Position] --> B[Seize FLOW Collateral]
_10
B --> C[Swap FLOW β†’ MOET<br/>via DEX]
_10
C --> D[Repay MOET Debt]
_10
D --> E[Health Restored]
_10
_10
style A fill:#fbb
_10
style E fill:#bfb

Example:


_10
Position: 1000 FLOW, 650 MOET debt, HF = 0.98
_10
↓
_10
Seize: 150 FLOW
_10
↓
_10
Swap: 150 FLOW β†’ 147 MOET (via DEX)
_10
↓
_10
Repay: 147 MOET debt
_10
↓
_10
Result: 850 FLOW, 503 MOET debt, HF = 1.05 βœ“

MOET Economics​

Supply & Demand​


_20
graph TB
_20
subgraph Demand
_20
D1[Users borrow for yield]
_20
D2[Liquidators need MOET]
_20
D3[Rebalancing operations]
_20
D4[Protocol integrations]
_20
end
_20
_20
subgraph Supply
_20
S1[MOET deposits as collateral]
_20
S2[Debt repayments]
_20
S3[Interest payments]
_20
S4[Protocol reserves]
_20
end
_20
_20
Demand --> Market[MOET Market]
_20
Supply --> Market
_20
Market --> Rate[Interest Rates]
_20
_20
style Market fill:#fbb,stroke:#333,stroke-width:3px

Interest Rate Dynamics​


_10
Utilization = Total MOET Borrowed / Total MOET Available
_10
_10
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
_10
β”‚ Utilization β”‚ Interest Rate β”‚ Result β”‚
_10
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
_10
β”‚ 0-80% (Low) β”‚ 2-8% APY β”‚ Cheap borrowing β”‚
_10
β”‚ 80-90% (Medium) β”‚ 8-20% APY β”‚ Balanced β”‚
_10
β”‚ 90-100% (High) β”‚ 20-50%+ APY β”‚ Discourages borrowβ”‚
_10
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Why it matters: Low utilization makes MOET cheap to borrow, while high utilization makes borrowing expensive and encourages repayment. This dynamic allows the system to self-balance supply and demand.

Why MOET vs Other Tokens?​

Comparison Table​

FeatureMOETFLOWUSDC
Primary borrowed assetβœ… Yes⚠️ Possible⚠️ Possible
Unit of accountβœ… Yes❌ No❌ No
Auto-borrow defaultβœ… Yes❌ No❌ No
Rebalancing tokenβœ… Yes❌ No❌ No
FCM integrationβœ… Deep⚠️ Moderate⚠️ Moderate
FYV integrationβœ… Native⚠️ Limited⚠️ Limited

MOET Advantages​

  1. Designed for DeFi: Built specifically for Flow DeFi operations
  2. High Liquidity: Deep markets ensure efficient operations
  3. Composability: Works seamlessly with FYV and other protocols
  4. Predictability: Standard token across all FCM operations
  5. Efficiency: Single token simplifies everything

Can I Use Other Tokens?​

Yes, but with limitations:

For Developers

You can manually borrow other tokens:


_10
// Borrow FLOW instead of MOET
_10
let flowBorrowed <- position.borrow(
_10
type: Type<@FlowToken.Vault>(),
_10
amount: 100.0
_10
)

However:

  • Auto-borrowing always uses MOET
  • Rebalancing always uses MOET
  • Health calculations still in MOET terms
  • FYV integration requires MOET

Best Practices​

For Borrowers​

βœ… Do:

  • Maintain MOET buffer in wallet for emergencies
  • Set up TopUpSource with MOET for auto-protection
  • Monitor MOET interest rates
  • Diversify yield strategies with borrowed MOET

❌ Don't:

  • Assume MOET will always be cheap to borrow
  • Put all borrowed MOET in one place
  • Ignore MOET balance in TopUpSource
  • Forget MOET debt accumulates interest

For Yield Seekers​

βœ… Do:

  • Use full FCM integration (ALP + FYV)
  • Let MOET flow automatically to FYV
  • Let yield protect your position
  • Monitor FYV MOET liquidity

❌ Don't:

  • Manually manage MOET if using FYV
  • Interrupt the automated flow
  • Remove MOET from FYV when position needs it

Real-World Example​

Complete MOET Lifecycle​


_16
graph TB
_16
Start[User deposits<br/>1000 FLOW] --> Calc[ALP calculates:<br/>Can borrow 615 MOET]
_16
Calc --> Borrow[Auto-borrow<br/>615 MOET]
_16
Borrow --> Deploy[MOET β†’ FYV<br/>via DrawDownSink]
_16
Deploy --> Earn[FYV generates<br/>yield in MOET]
_16
_16
Price[FLOW price<br/>drops 20%] -.-> Detect[ALP detects<br/>HF = 1.04]
_16
Detect --> Need[Need 123 MOET<br/>to rebalance]
_16
Need --> Pull[Pull from FYV<br/>via TopUpSource]
_16
Pull --> Repay[Repay 123 MOET]
_16
Repay --> Safe[Health = 1.3 βœ“<br/>Liquidation avoided]
_16
_16
style Start fill:#bbf
_16
style Earn fill:#bfb
_16
style Price fill:#fbb
_16
style Safe fill:#bfb

What happened:

  1. Deposited FLOW β†’ Auto-borrowed 615 MOET
  2. MOET deployed to FYV β†’ Earned yield
  3. Price dropped β†’ Position at risk
  4. FYV provided 123 MOET β†’ Debt repaid
  5. Result: Your MOET yield prevented liquidation!

Summary​

MOET's Three Roles:

  1. πŸ’° Borrowed Asset: What you borrow from ALP
  2. πŸ“Š Unit of Account: How all prices are quoted
  3. πŸ”„ Rebalancing Medium: Flows between ALP and FYV

Key Points:

  • All auto-borrowing is in MOET
  • All rebalancing uses MOET
  • All health calculations in MOET terms
  • MOET enables FCM's yield-powered liquidation prevention

Why MOET Matters: Without MOET as the standard, FCM's automation wouldn't work. MOET is the "common currency" that lets ALP and FYV communicate seamlessly, enabling the unique liquidation prevention mechanism.

Mathematical Foundation​

MOET is central to all FCM calculations:

Next Steps​