Fee Structures and Revenue Mechanics | Liquidity Providing & Yield | XRP Academy - XRP Academy
3 free lessons remaining this month

Free preview access resets monthly

Upgrade for Unlimited
Skip to main content
intermediate55 min

Fee Structures and Revenue Mechanics

Learning Objectives

Calculate fee revenue for any XRPL AMM pool given volume and fee rate data

Understand the fee voting mechanism including the weighted average calculation and strategic voting considerations

Differentiate deposit fees between single-asset and double-asset approaches and their impact on returns

Explain the auction slot mechanism and how proceeds are distributed to liquidity providers

Build yield projection models that account for fee revenue, IL expectations, and realistic volume assumptions

Every time someone swaps XRP for RLUSD (or any token pair) through an XRPL AMM, money moves from traders to liquidity providers. This flow is the fundamental source of LP yield—not magic, not protocol subsidies, just traders paying for the convenience of instant liquidity.

But how much money? Paid how? Distributed when?

Most LPs don't know the answers to these questions. They see "15% APY" on a dashboard and deposit, hoping for the best. You're going to understand the mechanics completely, which means you'll:

  • Know if that 15% APY is realistic or a temporary anomaly
  • Calculate whether a pool's volume justifies its TVL
  • Predict how fee voting changes will affect your returns
  • Understand why the auction mechanism exists and how it helps you

Let's follow the money.


When a trader swaps through an AMM pool, the fee is deducted from their trade automatically:

FEE COLLECTION PROCESS

Step 1: Trader initiates swap
├── Wants to trade 1,000 XRP for RLUSD
├── Submits transaction to XRPL
└── AMM receives the request

Step 2: Fee calculation
├── Pool fee rate: 0.5% (example)
├── Fee = 1,000 XRP × 0.005 = 5 XRP
├── Net input: 1,000 - 5 = 995 XRP
└── Only 995 XRP used for swap calculation

Step 3: Swap execution
├── AMM calculates output using constant product formula
├── Based on 995 XRP input (post-fee)
├── Trader receives calculated RLUSD amount
└── Pool state updates

Step 4: Fee disposition
├── 5 XRP fee remains in pool
├── Increases pool's XRP reserves
├── No new LP tokens minted
├── All existing LPs benefit proportionally
└── Pool now "worth more"

Result:
├── Trader: Got RLUSD, paid fee implicitly
├── Pool: Has more XRP than before
├── LPs: Their claim increased by fee amount
└── No explicit "fee distribution" transaction
```

XRPL AMM fees operate within defined bounds:

FEE RATE PARAMETERS

Current protocol limits:
├── Minimum: 0% (zero fee possible)
├── Maximum: 1% (100 basis points)
├── Precision: 0.001% increments
└── Proposed expansion: 0-2.5% (under consideration)

Typical fee rates by pool type:
├── Major pairs (XRP/RLUSD): 0.3-0.6%
├── Secondary pairs: 0.4-0.8%
├── Exotic pairs: 0.5-1.0%
└── Stable/stable pairs: 0.1-0.3% (if they exist)

How fee rate is determined:
├── Set at pool creation (initial vote)
├── Modified by LP voting (AMMVote)
├── Weighted average of top-8 LP votes
├── Recalculates when any vote submitted
└── Can change at any time

Fees don't arrive in your wallet—they increase your LP token's redemption value:

FEE ACCUMULATION EXAMPLE

Day 0 (Your deposit):
├── Pool: 100,000 XRP + $250,000 RLUSD
├── Pool value: $500,000
├── Total LP tokens: 158,114
├── LP token price: $500,000 / 158,114 = $3.162
├── Your LP tokens: 15,811 (10% share)
├── Your value: $50,000

Day 1 activity:
├── Trading volume: $50,000
├── Fee rate: 0.5%
├── Fees collected: $50,000 × 0.005 = $250
├── Pool value: $500,000 + $250 = $500,250
├── LP tokens: 158,114 (unchanged)
├── New LP price: $500,250 / 158,114 = $3.164
├── Your value: $50,025
└── Your daily gain: $25

After 30 days (assuming same daily volume):
├── Total fees: $250 × 30 = $7,500
├── Pool value: $507,500
├── LP price: $507,500 / 158,114 = $3.209
├── Your value: $50,750
├── Monthly gain: $750
├── Monthly return: 1.5%
├── Annualized: ~18% (before IL)
└── Note: IL not included in this calculation
```

Important distinction—fees are not the only reason pool value changes:

SOURCES OF POOL VALUE CHANGE

1. TRADING FEES (Positive, predictable)

1. ASSET PRICE CHANGES (Variable)

1. DEPOSITS BY OTHER LPs (Dilutive)

1. WITHDRAWALS BY OTHER LPs (Concentrative)

KEY INSIGHT:
├── Only fees increase per-LP-token value
├── Price changes affect USD value (not token count)
├── Deposit/withdrawal affects share %, not value per token
└── Track fees separately from other value changes

LP token holders vote on the pool's trading fee through the AMMVote transaction:

AMMVOTE TRANSACTION

Fields:
├── Account: Your XRPL address
├── Asset: First pool asset identifier
├── Asset2: Second pool asset identifier
├── TradingFee: Your preferred fee (0-1000 = 0-1%)
└── Fee: Transaction fee (minimal)

Example transaction:
{
"TransactionType": "AMMVote",
"Account": "rYourAddress...",
"Asset": {
"currency": "XRP"
},
"Asset2": {
"currency": "USD",
"issuer": "rIssuerAddress..."
},
"TradingFee": 500 // 0.5%
}

What happens:
├── Your vote is recorded
├── If you're in top-8: Directly affects fee
├── If not in top-8: Recorded but doesn't count
├── Fee recalculates immediately
└── Your vote persists until changed or LP tokens removed
```

The pool's actual fee is a weighted average of top-8 LP votes:

WEIGHTED AVERAGE FEE CALCULATION

Formula:
Pool_Fee = Σ(LP_weight_i × Vote_i) / Σ(LP_weight_i)

Where:
├── i = Each of top 8 LPs by token holdings
├── LP_weight = LP tokens held
├── Vote = That LP's fee vote
└── Only top 8 count

Detailed Example:

Top 8 LP Positions:

Rank LP Tokens Vote Weight × Vote
1 2,000,000 0.40% 8,000
2 1,500,000 0.50% 7,500
3 1,200,000 0.60% 7,200
4 800,000 0.45% 3,600
5 600,000 0.55% 3,300
6 400,000 0.50% 2,000
7 300,000 0.35% 1,050
8 200,000 0.70% 1,400
Sum 7,000,000 - 34,050

Pool Fee = 34,050 / 7,000,000 = 0.486% ≈ 0.49%

LP #9 with 150,000 tokens voting 0.20%:
├── Not in top 8
├── Vote doesn't count in calculation
├── Fee unchanged at 0.49%
└── But vote is recorded for transparency
```

Different fee levels optimize for different outcomes:

FEE OPTIMIZATION TRADE-OFFS

HIGHER FEES (0.7-1.0%):

Advantages:
├── More revenue per trade
├── Higher yield if volume maintains
├── Compensates for IL better
└── Good for unique/exotic pairs

Disadvantages:
├── Traders may route elsewhere
├── Arbitrageurs less active (worse prices)
├── Volume may decrease significantly
└── Pool becomes uncompetitive

Best for:
├── Pools with few alternatives
├── Low-competition token pairs
├── LPs prioritizing per-trade revenue
└── Illiquid assets where traders have no choice

LOWER FEES (0.1-0.3%):

Advantages:
├── Attracts more trading volume
├── More arbitrage (better prices)
├── Competitive with alternatives
└── Volume compounds into meaningful revenue

Disadvantages:
├── Less revenue per trade
├── Need much higher volume to compensate
├── Race to bottom risk
└── May not cover IL

Best for:
├── Highly competitive pairs
├── Pairs with CEX alternatives
├── Volume-growth strategy
└── Stable/stable pairs (low IL)

MODERATE FEES (0.4-0.6%):

Advantages:
├── Balance of volume and margin
├── "Safe" middle ground
├── Works for most pairs
└── Adapts to market conditions

Disadvantages:
├── Not optimized for either extreme
├── May underperform specialized strategies
└── Requires monitoring to adjust

Best for:
├── Most standard pairs
├── LPs without strong view
├── New pools finding equilibrium
└── Default starting point
```

Fee voting creates a governance dynamic worth understanding:

GOVERNANCE DYNAMICS

Power concentration:
├── Top 8 LPs control the fee
├── Single whale could dominate
├── Collusion possible (coordinate votes)
├── Smaller LPs have no direct power
└── But can influence through coordination

Strategies for small LPs:
├── Monitor top-8 votes
├── Coordinate with other small LPs
├── Voice preferences in community
├── Size positions to reach top-8 threshold
└── Accept governance as given

What to check before depositing:
├── Who are top-8 LPs?
├── What are their votes?
├── How stable is the voting?
├── Any blackholed wallets?
├── History of fee changes?
└── Alignment with your interests?

Red flags:
├── Single LP controls >50%
├── Frequent vote manipulation
├── Votes not aligned with pool health
├── Blackholed major positions
└── No active governance

When you deposit both assets in the correct ratio, you pay no trading fee:

DOUBLE-ASSET DEPOSIT (Fee-Free)

Requirements:
├── Deposit both assets
├── In ratio matching current pool
├── Or specify exact LP tokens desired
└── Protocol handles minor adjustments

Example:
├── Pool ratio: 1 XRP = $2.50 RLUSD
├── You deposit: 1,000 XRP + $2,500 RLUSD
├── Ratio matches: 1:2.5 ✓
├── No trading needed: No fee
├── Full value converted to LP tokens
└── Maximum efficiency

Minor ratio mismatch:
├── Pool: 100,000 XRP + $252,000 RLUSD (1:2.52)
├── You deposit: 1,000 XRP + $2,500 RLUSD (1:2.50)
├── Small discrepancy
├── Protocol adjusts automatically
├── Minimal impact
└── Still essentially fee-free

When you deposit only one asset, the AMM internally swaps to balance:

SINGLE-ASSET DEPOSIT (Fee Charged)

Mechanics:
├── You deposit Asset A only
├── AMM "swaps" ~50% internally to Asset B
├── Trading fee charged on swap portion
├── Net: Fewer LP tokens than double-asset
└── Convenient but costs 0.2-0.5% of deposit

Fee calculation:
├── Deposit: 1,000 XRP
├── Internal swap: ~500 XRP → RLUSD
├── Pool fee: 0.5%
├── Fee on swap: 500 × 0.005 = 2.5 XRP
├── Effective cost: 2.5 / 1,000 = 0.25%
└── ~0.25% fewer LP tokens vs double-asset

Example comparison:
Double-asset deposit of $10,000:
├── 2,000 XRP ($5,000) + $5,000 RLUSD
├── LP tokens received: 10,000 (example)
└── Full value deployed

Single-asset deposit of $10,000 (XRP only):
├── 4,000 XRP ($10,000)
├── Internal swap: 2,000 XRP → RLUSD
├── Fee: 2,000 × 0.005 × $2.50 = $25
├── Effective deposit: $9,975
├── LP tokens: 9,975 (0.25% fewer)
└── Lost $25 to fees
DEPOSIT STRATEGY DECISION

USE DOUBLE-ASSET WHEN:
├── You have both assets available
├── Position size is significant ($5,000+)
├── Optimizing for maximum efficiency
├── Long-term position planned
└── Every basis point matters

USE SINGLE-ASSET WHEN:
├── You only hold one asset
├── Acquiring second asset is inconvenient
├── Position is small (fee is negligible)
├── Speed/convenience valued over optimization
├── Entry timing critical (one transaction faster)
└── Trying pool with minimal commitment

Cost comparison by position size:
├── $1,000 deposit: Fee = ~$2.50 (acceptable)
├── $10,000 deposit: Fee = ~$25 (noticeable)
├── $100,000 deposit: Fee = ~$250 (significant)
└── Larger positions = double-asset more valuable

Break-even calculation:
├── Single-asset costs ~0.25% extra
├── At 10% APY, break-even in ~9 days
├── After 9 days, convenience cost is "paid off"
└── Longer positions = fee matters less
```


XRPL's AMM includes a unique continuous auction mechanism designed to reduce impermanent loss:

AUCTION SLOT OVERVIEW

Purpose:
├── Return arbitrage profits to LPs
├── Reduce impermanent loss impact
├── Incentivize rapid price correction
└── Create additional LP revenue stream

How it works:
├── 24-hour auction slots
├── Traders bid LP tokens for slot
├── Winner gets 90% discount on trading fees
├── Can name up to 4 additional accounts for discount
├── Winning bid goes back to pool (burned)
└── Displaced bidder gets partial refund

Key mechanics:
├── Continuous auction (always running)
├── Can be outbid at any time
├── Refund based on time remaining
├── Slot expires after 24 hours
└── New auction begins immediately
```

AUCTION PROCEEDS DISTRIBUTION

When someone wins the auction slot:

Step 1: Winning bid submitted
├── Bid amount: 10,000 LP tokens (example)
├── Must exceed minimum or current holder's bid
└── LP tokens debited from bidder

Step 2: Distribution
├── If slot was empty/expired:
│ ├── Full bid goes to pool
│ └── LP tokens burned (removed from supply)
├── If displacing current holder:
│ ├── Refund to displaced bidder (based on time left)
│ └── Remainder burned
└── Pool LP token supply decreases

Step 3: LP benefit
├── Fewer LP tokens outstanding
├── Pool assets unchanged
├── Each LP token now worth more
├── Automatic value increase for all LPs
└── No action required to benefit

Example:
├── Before auction: 1,000,000 LP tokens
├── Winning bid: 5,000 LP tokens burned
├── After auction: 995,000 LP tokens
├── Your 100,000 LP tokens were 10% share
├── Now: 100,000 / 995,000 = 10.05% share
├── Pool value unchanged
├── Your value increased by 0.5%
└── Passive benefit from auction activity
```

Understanding who uses auction slots helps you understand the revenue:

AUCTION SLOT BIDDERS

Primary users:
├── Arbitrageurs (main users)
├── High-volume traders
├── Market makers
└── Trading bots

Why they bid:
├── 90% fee discount is significant
├── $100,000 in trades at 0.5% fee = $500 in fees
├── With slot: Only $50 in fees
├── Savings of $450
├── Worth bidding if savings > bid cost
└── Profitable for high-volume traders

Economics:
├── Minimum bid (empty slot): LP_tokens × fee / 25
├── Example: 1,000,000 LP × 0.5% / 25 = 200 LP tokens
├── If LP token = $3, minimum bid = $600
├── Break-even volume: $600 / 0.0045 = $133,333
├── Trade $133,333+ in 24 hours? Slot is profitable
└── Professional traders easily exceed this

What this means for LPs:
├── Active pools have active auctions
├── More auction activity = more LP token burns
├── Burns increase your share automatically
├── Don't need to bid yourself to benefit
└── Passive income from arbitrageur activity
ESTIMATING AUCTION CONTRIBUTION TO YIELD

Variables:
├── Auction frequency (bids per day)
├── Average bid size (LP tokens burned)
├── LP token burn rate = frequency × avg bid
└── Your benefit = burn rate × your share %

Example calculation:
├── Pool: 1,000,000 LP tokens total
├── Average 3 auction bids per day
├── Average bid: 500 LP tokens (net after refunds)
├── Daily burn: 3 × 500 = 1,500 LP tokens
├── Annual burn: 1,500 × 365 = 547,500 LP tokens
├── Annual burn rate: 547,500 / 1,000,000 = 54.75%

Wait—that seems high. Reality check:
├── New LP tokens created from deposits
├── Burn rate often offset by deposit growth
├── Net effect is smaller
├── But still meaningful contribution
└── Typical net contribution: 1-5% APY equivalent

Your benefit:
├── If you hold 1% of LP tokens
├── And annual net burn is 2%
├── Your share increases from 1.00% to 1.02%
├── Plus pool value same
├── Effective 2% yield contribution
└── Additive to fee yield
```


Putting it all together, here's the comprehensive yield calculation:

COMPLETE LP YIELD MODEL

GROSS YIELD COMPONENTS:

  1. Trading Fee Yield:

  2. Auction Contribution (estimate):

GROSS APY = Fee_APY + Auction_APY

COSTS:

  1. Impermanent Loss:

  2. Deposit Fee (if single-asset):

NET APY = GROSS APY - IL_Annual - Deposit_Cost (amortized)
```

Here's a practical template for evaluating any pool:

POOL YIELD EVALUATION TEMPLATE

=== POOL DATA ===
Pool: [Asset1/Asset2]
TVL: $[amount]
Daily Volume (30-day avg): $[amount]
Fee Rate: [X]%
Your Planned Deposit: $[amount]

=== FEE YIELD CALCULATION ===
Daily Fees = Daily Volume × Fee Rate
           = $[volume] × [fee]%
           = $[daily_fees]

Annual Fees = Daily Fees × 365
            = $[daily_fees] × 365
            = $[annual_fees]

Gross Fee APY = Annual Fees / TVL × 100
              = $[annual_fees] / $[TVL] × 100
              = [X]%

Your Expected Fee Income = Gross APY × Your Deposit
                         = [X]% × $[deposit]
                         = $[your_fees]

=== AUCTION YIELD ESTIMATE ===
Estimated Auction Contribution: 1-3% (conservative)
Add to Gross APY: +[1-3]%

=== TOTAL GROSS YIELD ===
Gross APY = Fee APY + Auction APY
          = [fee_apy]% + [auction_apy]%
          = [gross_apy]%

=== IL SCENARIOS (see Lesson 4 for formulas) ===
If Asset1 moves ±25%: IL ≈ 0.6%
If Asset1 moves ±50%: IL ≈ 2%
If Asset1 moves ±100%: IL ≈ 5.7%

Expected IL (your estimate): [X]%

=== NET YIELD PROJECTION ===
Conservative (high IL scenario):
Net APY = [gross]% - [high_IL]% = [X]%

Base Case (moderate IL):
Net APY = [gross]% - [moderate_IL]% = [X]%

Optimistic (low IL):
Net APY = [gross]% - [low_IL]% = [X]%

=== DECISION ===
Expected range: [low]% to [high]% net APY
Risk-adjusted: [base_case]% most likely
Acceptable? [Yes/No]

Let's apply this to a hypothetical but realistic pool:

EXAMPLE: XRP/RLUSD POOL ANALYSIS

=== POOL DATA ===
Pool: XRP/RLUSD
TVL: $2,000,000
Daily Volume (30-day avg): $150,000
Fee Rate: 0.5%
Your Planned Deposit: $20,000

=== FEE YIELD CALCULATION ===
Daily Fees = $150,000 × 0.5% = $750
Annual Fees = $750 × 365 = $273,750
Gross Fee APY = $273,750 / $2,000,000 × 100 = 13.7%

Your share: $20,000 / $2,000,000 = 1%
Your Expected Annual Fee Income = $273,750 × 1% = $2,738

=== AUCTION YIELD ESTIMATE ===
Active pool with arbitrage: +2% (estimate)
Total Gross APY: 13.7% + 2% = 15.7%

=== IL SCENARIOS ===
XRP historical volatility: ~60-80% annual
Expected annual price movement: ±50-75%

Conservative (XRP moves ±75%): IL ≈ 4%
Base Case (XRP moves ±50%): IL ≈ 2%
Optimistic (XRP moves ±25%): IL ≈ 0.6%

=== NET YIELD PROJECTION ===
Conservative: 15.7% - 4% = 11.7% net APY
Base Case: 15.7% - 2% = 13.7% net APY
Optimistic: 15.7% - 0.6% = 15.1% net APY

=== EXPECTED RETURNS ===
$20,000 × 13.7% (base) = $2,740 annual
$20,000 × 11.7% (conservative) = $2,340 annual
Monthly: $195-228

=== DECISION ===
Expected net APY: 11.7-15.1%
Risk: XRP volatility creates IL uncertainty
Comparable to: High-yield bonds, dividend stocks
Conclusion: Reasonable for moderate risk tolerance

Understanding how changes affect your yield:

SENSITIVITY ANALYSIS

VOLUME SENSITIVITY:
Current: $150,000/day → 13.7% gross APY
If +50%: $225,000/day → 20.5% gross APY
If -50%: $75,000/day → 6.8% gross APY

Volume is critical. Check:
├── Is current volume sustainable?
├── What drove recent volume?
├── Seasonal patterns?
├── New competition emerging?
└── Don't assume today's volume continues

FEE RATE SENSITIVITY:
Current: 0.5% → 13.7% gross APY
If 0.3%: → 8.2% gross APY
If 0.7%: → 19.2% gross APY

Fee voting matters:
├── Who controls votes?
├── History of fee changes?
├── Your voting power?
└── Fee changes can significantly impact returns

TVL SENSITIVITY:
Current: $2,000,000 TVL → 13.7% gross APY
If TVL doubles: $4,000,000 → 6.8% gross APY
If TVL halves: $1,000,000 → 27.4% gross APY

TVL changes affect your share:
├── More LPs = more dilution
├── Less competition = better yield
├── High APY attracts deposits (self-correcting)
├── Low APY causes exits (self-correcting)
└── Pools tend toward equilibrium

The ratio of trading volume to TVL indicates yield efficiency:

VOLUME/TVL RATIO ANALYSIS

Formula: Daily Volume / TVL

Interpretation:
├── Ratio 0.01 (1%): Very low activity, poor yield
├── Ratio 0.05 (5%): Moderate activity, decent yield
├── Ratio 0.10 (10%): High activity, good yield
├── Ratio 0.20+ (20%+): Exceptional, possibly temporary
└── Higher ratio = more fees per dollar deposited

Example rankings:
Pool A: $500K volume / $5M TVL = 0.10 (10%)
Pool B: $100K volume / $2M TVL = 0.05 (5%)
Pool C: $50K volume / $10M TVL = 0.005 (0.5%)

Yield at 0.5% fee:
Pool A: 10% × 0.5% × 365 = 18.25% APY
Pool B: 5% × 0.5% × 365 = 9.1% APY
Pool C: 0.5% × 0.5% × 365 = 0.9% APY

Pool A clearly superior for yield
But: Consider IL, asset risk, sustainability
EVALUATING VOLUME SUSTAINABILITY

WARNING SIGNS OF TEMPORARY VOLUME:

  1. New pool launch

  2. Recent news/hype

  3. Arbitrage-heavy activity

  4. Single large trader

POSITIVE SIGNS OF SUSTAINABLE VOLUME:

  1. Consistent historical volume

  2. Multiple use cases

  3. Competitive pricing


Fee mathematics are deterministic. Given volume and fee rate, you can calculate exact fee revenue. No ambiguity in the mechanics.

Fee voting directly affects returns. A change from 0.5% to 0.3% fee reduces your yield by 40%. This is measurable and significant.

Auction mechanism provides additional yield. LP token burns from auction bids increase per-token value. The mechanism works as designed.

⚠️ Volume sustainability. Today's volume isn't guaranteed tomorrow. Historical data helps but doesn't predict the future.

⚠️ Optimal fee rate. Whether higher fees generate more total revenue (despite lower volume) depends on trader elasticity, which varies.

⚠️ Auction contribution magnitude. Estimating 1-5% is reasonable but imprecise. Actual contribution varies by pool activity.

📌 Extrapolating short-term volume. A week of high volume doesn't mean 52 weeks of high volume. Use long-term averages cautiously.

📌 Ignoring fee voting governance. If you're not in top-8, your yield can change without your consent. Monitor voting activity.

📌 Treating gross APY as expected return. Gross APY ignores IL. Net APY is what matters, and it's always lower (often significantly).

Fee revenue is calculable and real, but projecting yields requires assumptions about volume sustainability, price volatility, and governance stability. The best you can do is: (1) use conservative volume estimates, (2) model IL scenarios explicitly, (3) monitor actual performance vs. projections, and (4) adjust positions when reality diverges from expectations. Anyone claiming to know exact future yields is either lucky or lying.


Assignment: Build a comprehensive calculator that evaluates any XRPL AMM pool's fee economics and projects yield scenarios.

Requirements:

  • Pool name/assets

  • Current TVL ($)

  • Daily trading volume (current, 7-day avg, 30-day avg)

  • Current fee rate (%)

  • Total LP tokens outstanding

  • Your planned deposit amount ($)

  • Daily fee revenue ($ and as % of TVL)

  • Annualized fee revenue

  • Gross Fee APY

  • Volume/TVL ratio

  • Your share of pool (%)

  • Your expected annual fee income

  • Estimated auction contribution (default 1-3%)

  • User-adjustable estimate

  • Total gross APY (fees + auction)

  • Conservative (volume -30%, fee unchanged)

  • Base case (current values)

  • Optimistic (volume +30%, fee unchanged)

  • Current fee rate scenario

  • Fee -0.2% scenario

  • Fee +0.2% scenario

  • "IL estimate: See Lesson 4 calculations"

  • Input field for IL estimate (%)

  • Net APY calculation (Gross - IL)

  • Range of net APY outcomes

Part 6: Comparison Table
Structure to evaluate multiple pools side-by-side:

Metric Pool A Pool B Pool C
TVL
Daily Volume
Fee Rate
Volume/TVL
Gross APY
Expected IL
Net APY
Ranking
  • Correct formula implementation: 30%
  • Comprehensive scenario analysis: 25%
  • Usability and clear layout: 20%
  • Multi-pool comparison capability: 15%
  • Documentation of assumptions: 10%

Time Investment: 2 hours

Value: This calculator becomes your primary tool for evaluating pool opportunities. Instead of relying on displayed APY numbers (often misleading), you'll calculate expected returns from first principles, making better-informed deployment decisions.


1. Fee Collection Question:

A trader swaps 10,000 XRP through a pool with a 0.6% trading fee. How are the fees handled?

A) 60 XRP is sent to a fee collection address and distributed weekly to LPs
B) 60 XRP remains in the pool, increasing the value of all LP tokens automatically
C) 60 XRP is converted to LP tokens and distributed to existing LPs
D) 60 XRP is burned, reducing total XRP supply

Correct Answer: B

Explanation: XRPL AMM fees remain in the pool as additional reserves. No new LP tokens are minted, so the pool value increases while LP token supply stays constant. This automatically increases each LP token's redemption value. There's no separate fee distribution mechanism (A), no LP token minting for fees (C), and fees aren't burned (D)—they add to pool assets.


2. Fee Voting Question:

A pool has 10 LP holders. The 9th largest holder (not in top 8) submits an AMMVote transaction for 0.3% fee. What happens?

A) The vote is rejected because they're not in the top 8
B) The vote is recorded but doesn't affect the current pool fee calculation
C) The vote counts with reduced weight proportional to their ranking
D) The pool fee immediately changes to include their preference

Correct Answer: B

Explanation: Any LP can submit an AMMVote, and the vote is recorded on-ledger. However, only the top 8 LP holders by token balance are included in the weighted average calculation. The 9th holder's vote is recorded (for transparency and in case they later enter top-8) but doesn't affect the current fee. Votes aren't rejected (A), there's no reduced weight system (C), and non-top-8 votes don't change the fee (D).


3. Volume/TVL Question:

Pool X has $5M TVL and $100K daily volume. Pool Y has $500K TVL and $50K daily volume. Both have 0.5% fees. Which pool offers higher fee APY?

A) Pool X (larger TVL means more fees)
B) Pool Y (higher volume/TVL ratio)
C) They're equal (same fee rate)
D) Cannot determine without knowing auction activity

Correct Answer: B

Explanation: Fee APY = (Daily Volume × Fee Rate × 365) / TVL. Pool X: ($100K × 0.5% × 365) / $5M = 3.65% APY. Pool Y: ($50K × 0.5% × 365) / $500K = 18.25% APY. Pool Y has 5x higher APY despite lower absolute volume because its volume/TVL ratio (10%) is 5x higher than Pool X's (2%). This is why volume/TVL ratio is the key metric for yield evaluation.


4. Deposit Fee Question:

You want to deposit $50,000 into an XRP/RLUSD pool (0.5% fee) but only hold XRP. What's the approximate fee cost of a single-asset deposit vs. double-asset?

A) No difference—fees only apply to trading, not deposits
B) Approximately $125 more (0.25% of deposit value)
C) Approximately $250 more (0.5% of deposit value)
D) Approximately $500 more (1% of deposit value)

Correct Answer: B

Explanation: Single-asset deposits require internal conversion of approximately half the deposit. For $50,000, about $25,000 worth of XRP would be "swapped" internally to RLUSD. The 0.5% trading fee applies to this swap: $25,000 × 0.5% = $125. This represents about 0.25% of the total deposit value. Double-asset deposits avoid this fee entirely. Option C incorrectly applies the fee to the full deposit, and D doubles that error.


5. Auction Slot Question:

An arbitrageur wins the auction slot by bidding 1,000 LP tokens. The pool had 500,000 LP tokens outstanding. How does this benefit non-bidding LPs?

A) They receive a proportional distribution of the 1,000 LP tokens
B) Their LP tokens automatically represent a larger share because 1,000 LP tokens are burned
C) They receive XRP dividends equal to their share of the bid
D) No benefit—auction proceeds only help the pool, not individual LPs

Correct Answer: B

Explanation: Winning auction bids result in LP tokens being burned (removed from supply). Pool assets remain unchanged, but LP token supply decreases from 500,000 to 499,000. If you held 1% (5,000 LP tokens), you now own 5,000/499,000 = 1.002% of the pool. Your LP tokens are worth slightly more because they represent a larger share of unchanged pool assets. This is automatic—no distribution occurs (A), no dividends are paid (C), and the benefit is real and individual (D is wrong).


  • AMMVote transaction specification
  • Trading fee calculation in AMM specification
  • Auction slot mechanics in XLS-30
  • Uniswap fee tier analysis (analogous concepts)
  • AMM fee optimization academic papers
  • LP profitability studies
  • XRPL Explorer AMM data
  • Third-party pool analytics (where available)
  • Volume tracking resources

For Next Lesson:
Lesson 4 provides the complete guide to Impermanent Loss—the cost side of the yield equation. You'll learn the exact formulas, calculate IL for any price scenario, and develop strategies to manage IL risk. Combined with fee projections, you'll be able to calculate true net returns.


End of Lesson 3

Total words: ~6,100
Estimated completion time: 55 minutes reading + 2 hours for deliverable

Key Takeaways

1

Fees accumulate in the pool, not your wallet.

Your LP token redemption value increases as fees add to pool assets. This is automatic—no claiming required.

2

Volume/TVL ratio determines yield efficiency.

Higher ratios mean more fees per dollar deposited. This single metric quickly identifies promising pools.

3

Fee voting is real governance with real impact.

Top-8 LPs control the fee. If you're not in that group, monitor what they do and accept their decisions affect your returns.

4

Single-asset deposits cost ~0.25%.

Double-asset deposits are fee-free. For large positions, this difference matters.

5

Auction slots benefit all LPs passively.

LP token burns from auction bids increase your share automatically. Active pools with arbitrage activity generate more auction revenue. ---