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:
Trading Fee Yield:
Auction Contribution (estimate):
GROSS APY = Fee_APY + Auction_APY
COSTS:
Impermanent Loss:
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:
New pool launch
Recent news/hype
Arbitrage-heavy activity
Single large trader
POSITIVE SIGNS OF SUSTAINABLE VOLUME:
Consistent historical volume
Multiple use cases
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
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.
Volume/TVL ratio determines yield efficiency.
Higher ratios mean more fees per dollar deposited. This single metric quickly identifies promising pools.
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.
Single-asset deposits cost ~0.25%.
Double-asset deposits are fee-free. For large positions, this difference matters.
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. ---