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

Understanding FCM Basics

To understand how Flow Credit Market (FCM) works, let's build up from simple lending concepts to FCM's innovative three-component architecture.

Key Takeaway

FCM = Traditional Lending + Automation + Yield Generation + Liquidation Protection

It's not just "another lending protocol" - it's a complete yield-generating system with automated risk management.

From Traditional Lending to FCM​

Level 1: Traditional Lending (Aave, Compound)​

Basic lending with complete manual management:


_10
graph LR
_10
User[πŸ‘€ User] -->|1. Deposit FLOW| Protocol[Lending Protocol]
_10
Protocol -->|2. User manually<br/>borrows USDC| Borrowed[πŸ’΅ USDC]
_10
Borrowed -->|3. Sits idle or<br/>manually deployed| User
_10
_10
Drop[πŸ“‰ Price Drop] -.->|4. Health drops!| Alert[⚠️ Must act now!]
_10
Alert -.->|5. Manual repay<br/>or liquidation| User
_10
_10
style Protocol fill:#757575,stroke:#333,stroke-width:2px,color:#fff
_10
style Alert fill:#d94d4d,stroke:#333,stroke-width:2px,color:#fff

Traditional lending protocols require complete manual management at every step. Users must calculate their safe borrowing capacity, execute borrowing transactions themselves, and manually deploy borrowed funds into yield strategies. Most critically, they must constantly monitor their position's health factor and respond quickly to price drops or risk liquidation. This hands-on approach demands significant time, expertise, and attention to maintain a safe and profitable position.

Level 2: ALP (Automated Lending)​

Adds automatic borrowing and rebalancing:


_11
graph LR
_11
User[πŸ‘€ User] -->|1. Deposit FLOW| ALP[ALP Position]
_11
ALP -->|2. AUTO-BORROW<br/>MOET at optimal ratio| Borrowed[πŸ’΅ MOET]
_11
Borrowed -->|3. Still needs<br/>manual deployment| User
_11
_11
Drop[πŸ“‰ Price Drop] -.->|4. AUTO-REBALANCE<br/>if TopUpSource available| ALP
_11
User -.->|5. Must manually<br/>fund TopUpSource| TopUp[TopUpSource]
_11
TopUp -.->|Provides funds| ALP
_11
_11
style ALP fill:#4a7abf,stroke:#333,stroke-width:2px,color:#fff
_11
style Borrowed fill:#ffd700,stroke:#333,stroke-width:2px

ALP introduces partial automation by calculating and executing optimal borrowing amounts when you deposit collateral, and automatically rebalancing your position when health drops below safe levels. However, users still need to manually deploy borrowed MOET into yield strategies and manage their TopUpSource for rebalancing. Without a properly funded TopUpSource, liquidation protection remains limited, leaving a critical gap in the automation.

Level 3: FCM (ALP + FYV + MOET)​

Complete yield automation with self-protecting positions:


_15
graph LR
_15
User[πŸ‘€ User] -->|1. Deposit FLOW| ALP[ALP]
_15
ALP -->|2. AUTO-BORROW| MOET[MOET]
_15
MOET -->|3. AUTO-DEPLOY<br/>via DrawDownSink| FYV[FYV]
_15
FYV -->|4. AUTO-EARN<br/>yield| Yield[πŸ’° Yield]
_15
_15
Drop[πŸ“‰ Price Drop] -.->|5. AUTO-DETECT| ALP
_15
Yield -.->|6. AUTO-PROVIDE<br/>via TopUpSource| ALP
_15
ALP -.->|7. AUTO-REPAY<br/>debt restored| Safe[βœ… Safe]
_15
_15
style ALP fill:#4a7abf,stroke:#333,stroke-width:3px,color:#fff
_15
style FYV fill:#4d994d,stroke:#333,stroke-width:3px,color:#fff
_15
style MOET fill:#d94d4d,stroke:#333,stroke-width:2px,color:#fff
_15
style Yield fill:#f9a825,stroke:#333,stroke-width:2px
_15
style Safe fill:#4d994d,stroke:#333,stroke-width:2px,color:#fff

FCM completes the automation cycle by integrating ALP with FYV and MOET. The system calculates and executes optimal borrowing, automatically deploys borrowed MOET into yield strategies through FYV, and continuously generates returns. When market volatility threatens your position, FCM uses your accumulated yield to prevent liquidations and rebalances automatically to maintain optimal health. This creates a self-healing position where your earnings actively protect your collateral, delivering true set-and-forget lending with no manual intervention required.

Understanding the Three Components​

Component 1: ALP (The Lending Engine)​

ALP manages collateral and debt positions with automated rebalancing. You deposit collateral such as FLOW or stFLOW, and the system applies a collateral factor that determines what percentage of your collateral's value you can borrowβ€”for example, a 0.8 collateral factor means you can borrow up to 80% of your collateral's value. The system continuously monitors your health factor, which is the ratio of your collateral to debt and must remain above 1.0 to avoid liquidation. ALP automatically maintains your position at a target health level, typically around 1.3, to provide a safety buffer.

Example:


_10
Deposit: 1000 FLOW @ $1 = $1000
_10
Collateral Factor: 0.8 (80%)
_10
Effective Collateral: $800
_10
_10
Target Health: 1.3
_10
Max Safe Borrow: $800 / 1.3 β‰ˆ $615.38 MOET
_10
_10
ALP auto-borrows: 615.38 MOET
_10
Position Health: 800 / 615.38 = 1.3

Learn more: ALP Documentation

Component 2: FYV (The Yield Engine)​

TracerStrategy acts as the smart converter that takes your borrowed MOET, converts it into yield-earning tokens, and converts them back to MOET when your position needs protection, handling all the conversion logic between MOET and yield opportunities. AutoBalancer acts as the smart wallet that holds and manages your yield tokens, automatically monitoring the value of your yield position and rebalancing your holdings as needed to optimize returns and maintain liquidity. Together, TracerStrategy handles the conversion logic while AutoBalancer handles the holding and management of those yield tokens.

FYV deploys capital into yield-generating strategies and provides liquidity for liquidation prevention. The system uses predefined strategies like TracerStrategy to generate returns, with an AutoBalancer that manages your exposure to yield tokens and handles rebalancing automatically. When ALP borrows MOET on your behalf, the DrawDownSink receives it and deploys it into yield strategies, while the TopUpSource stands ready to provide liquidity back to ALP whenever your position needs debt repayment to maintain health.

Example strategy (TracerStrategy):


_10
1. Receive MOET from ALP β†’ DrawDownSink
_10
2. Swap MOET β†’ YieldToken (e.g., LP token, farm token)
_10
3. Hold YieldToken in AutoBalancer
_10
4. Accumulate yield over time
_10
5. When ALP needs funds:
_10
- Swap YieldToken β†’ MOET
_10
- Provide via TopUpSource
_10
- ALP repays debt

Learn more: FYV Documentation

Component 3: MOET (The Unit of Account)​

MOET serves as the currency for all operations within FCM, functioning simultaneously as the borrowed asset, pricing unit, and value transfer medium. As the system's unit of account, all prices are quoted in MOET termsβ€”whether FLOW/MOET or USDC/MOET. MOET is the primary borrowed asset that ALP auto-borrows and FYV receives for deployment. As a synthetic stablecoin with value pegged to maintain stability, MOET acts as the medium of exchange that flows seamlessly between ALP and FYV components. This design standardizes all valuations, simplifies multi-collateral calculations, and provides deep integration with the Flow ecosystem specifically for DeFi operations.

Learn more: MOET Documentation

The Capital Flow Cycle​

Let's follow $1000 of FLOW through the entire FCM system:

Phase 1: Initial Deposit and Borrowing​


_17
You deposit: 1000 FLOW worth $1000
_17
↓
_17
ALP calculates:
_17
- Effective collateral: $1000 Γ— 0.8 = $800
_17
- Target health: 1.3
_17
- Borrow amount: $800 / 1.3 = $615.38 MOET
_17
↓
_17
ALP auto-borrows: 615.38 MOET
_17
↓
_17
MOET flows to: FYV strategy (via DrawDownSink)
_17
↓
_17
FYV swaps: 615.38 MOET β†’ 615.38 YieldToken
_17
↓
_17
Status:
_17
- Your ALP position: 1000 FLOW collateral, 615.38 MOET debt
_17
- Your FYV position: 615.38 YieldToken generating yield
_17
- Health factor: 1.3 βœ“

Phase 2: Yield Generation​


_14
Time passes...
_14
↓
_14
FYV Strategy generates yield:
_14
- Trading fees from LP positions
_14
- Farming rewards
_14
- Interest from lending
_14
↓
_14
Example after 1 month:
_14
- YieldToken value: 615.38 β†’ 625.00 (+1.5% return)
_14
- Yield earned: ~$10
_14
↓
_14
FYV holds:
_14
- Original: 615.38 YieldToken
_14
- Plus accumulated yield

Phase 3: Price Drop & Auto-Protection​


_24
FLOW price drops: $1.00 β†’ $0.80 (-20%)
_24
↓
_24
ALP detects:
_24
- Collateral: 1000 FLOW @ $0.80 = $800 Γ— 0.8 = $640 effective
_24
- Debt: 615.38 MOET
_24
- New health: 640 / 615.38 = 1.04 (below min 1.1!)
_24
↓
_24
ALP triggers rebalancing:
_24
- Calculates required repayment
_24
- Target debt: $640 / 1.3 = $492.31 MOET
_24
- Needs to repay: 615.38 - 492.31 = 123.07 MOET
_24
↓
_24
ALP pulls from FYV (TopUpSource):
_24
- FYV swaps: 123.07 YieldToken β†’ 123.07 MOET
_24
- Sends MOET to ALP
_24
↓
_24
ALP repays debt:
_24
- New debt: 492.31 MOET
_24
- New health: 640 / 492.31 = 1.3 βœ“
_24
↓
_24
Status:
_24
- ALP position: 1000 FLOW, 492.31 MOET debt, HF=1.3
_24
- FYV position: ~492 YieldToken remaining
_24
- Liquidation prevented! βœ“

Phase 4: Price Recovery​


_24
FLOW price recovers: $0.80 β†’ $1.00
_24
↓
_24
ALP detects:
_24
- Collateral: 1000 FLOW @ $1.00 = $1000 Γ— 0.8 = $800 effective
_24
- Debt: 492.31 MOET
_24
- New health: 800 / 492.31 = 1.625 (above max 1.5!)
_24
↓
_24
ALP triggers rebalancing:
_24
- Can borrow more to reach target health
_24
- Target debt: $800 / 1.3 = $615.38 MOET
_24
- Can borrow: 615.38 - 492.31 = 123.07 MOET
_24
↓
_24
ALP auto-borrows:
_24
- Borrows: 123.07 MOET
_24
- Pushes to FYV (DrawDownSink)
_24
↓
_24
FYV deploys:
_24
- Swaps: 123.07 MOET β†’ 123.07 YieldToken
_24
- Back to ~615 YieldToken
_24
↓
_24
Status:
_24
- ALP position: 1000 FLOW, 615.38 MOET debt, HF=1.3
_24
- FYV position: ~615 YieldToken generating yield
_24
- Fully rebalanced and optimized! βœ“

Key Benefits Explained​

1. Yield-Powered Liquidation Prevention​

Traditional protocol:


_10
Price drops β†’ Health factor drops β†’ You must manually:
_10
1. Monitor the drop
_10
2. Decide: add collateral or repay debt?
_10
3. Find liquidity
_10
4. Execute transaction
_10
5. Hope you're not liquidated first

FCM:


_10
Price drops β†’ Health factor drops β†’ System automatically:
_10
1. Detects drop instantly
_10
2. Calculates exact repayment needed
_10
3. Pulls from your yield
_10
4. Repays debt
_10
5. Restores health
_10
_10
All in one transaction, no intervention needed!

2. Capital Efficiency​

Without FCM:


_16
Scenario: Have 1000 FLOW, want to generate yield
_16
_16
Option A: Just hold FLOW
_16
- Capital: $1000 working
_16
- Opportunity cost: Missing yield opportunities
_16
_16
Option B: Deposit in lending protocol
_16
- Earn deposit interest: ~3% APY
_16
- Capital: $1000 working
_16
- Yield: ~$30/year
_16
_16
Option C: Manual yield farming
_16
- Borrow against FLOW: ~$750
_16
- Deploy to farm: Complex, risky
_16
- Must monitor constantly
_16
- Risk liquidation

With FCM:


_10
Deposit 1000 FLOW β†’ FCM does everything:
_10
- Borrow optimal amount: ~$615 MOET
_10
- Deploy to best yield: Automatic
_10
- Compound returns: Automatic
_10
- Prevent liquidation: Automatic
_10
- Potential yield: 5-15% APY (varies by strategy)
_10
_10
Capital efficiency: Using collateral to earn yield on borrowed funds
_10
Risk management: Yield protects against liquidation
_10
Effort: Set and forget

3. Composability​

Each component has value independently, allowing you to choose the level of integration that matches your needs. You can use ALP alone when you want simple lending and borrowing, have your own yield strategies, or need DeFi Actions integration for custom workflows. You can use FYV alone when you want yield aggregation without leverage, or prefer direct yield farming without the complexity of borrowing. You can use FCM together when you want maximum automation with liquidation protection and optimal capital efficiency through the integrated system.

Understanding the Math​

Health Factor Calculation​

The health factor is the core metric that determines whether your position is safe or at risk of liquidation. It compares the value of your collateral (adjusted by the collateral factor) against the value of your debt.


_10
Health Factor = Effective Collateral / Effective Debt
_10
_10
Effective Collateral = Token Amount Γ— Price Γ— Collateral Factor
_10
Effective Debt = Borrowed Amount Γ— Price
_10
_10
Example:
_10
- 1000 FLOW @ $1 each Γ— 0.8 factor = $800 effective collateral
_10
- 615.38 MOET @ $1 each = $615.38 effective debt
_10
- Health Factor = 800 / 615.38 = 1.30

Target Health Ranges​

Different health factor values indicate different states of your position, from dangerous (below 1.0) to overcollateralized (above 1.5). Understanding these ranges helps you know when to take action.


_10
Health Factor States:
_10
_10
HF < 1.0 β†’ Liquidatable (immediate danger!)
_10
HF = 1.0-1.1 β†’ At risk (very close to liquidation)
_10
HF = 1.1-1.3 β†’ Below target (should rebalance up)
_10
HF = 1.3 β†’ Target (optimal!)
_10
HF = 1.3-1.5 β†’ Above target (can borrow more)
_10
HF > 1.5 β†’ Overcollateralized (should rebalance down)

Borrowing Capacity​

This shows how much you can safely borrow while maintaining your target health factor. Borrowing up to this limit ensures you have a safety buffer to protect against price volatility.


_10
Maximum Safe Borrow = Effective Collateral / Target Health
_10
_10
Example with target health of 1.3:
_10
- Effective collateral: $800
_10
- Max borrow: $800 / 1.3 = $615.38 MOET
_10
_10
Why not borrow more?
_10
- Need safety buffer for price volatility
_10
- Target of 1.3 means 30% buffer above liquidation
_10
- If you borrowed $800, health would be 1.0 (liquidatable immediately!)

Learn more: Mathematical Foundations

Next Steps​

Now that you understand the basics:

  1. Learn the architecture: Architecture Overview
  2. Understand the math: Mathematical Foundations
  3. Explore components: ALP, FYV, MOET