Address Metrics - Tracking Adoption and Engagement | XRP Network Metrics | XRP Academy - XRP Academy
3 free lessons remaining this month

Free preview access resets monthly

Upgrade for Unlimited
Skip to main content
intermediate55 min

Address Metrics - Tracking Adoption and Engagement

Learning Objectives

Calculate active address metrics using daily, weekly, and monthly active address definitions with appropriate methodology

Analyze account creation patterns distinguishing genuine growth from artificial inflation

Build cohort retention analysis to measure user stickiness and engagement over time

Interpret distribution metrics including Gini coefficient, whale concentration, and exchange holdings

Recognize the distinction between addresses and users, accounts and adoption

"XRPL has 5 million accounts!"

Impressive? Let's investigate:

  • How many are active? (~200,000-300,000 monthly)
  • How many are one-time creations? (~60-70%)
  • How many are controlled by the same entities? (Unknown, but significant)
  • How many are exchanges with millions of users each? (Major portion)

The fundamental problem: One address does not equal one user.

ADDRESS-USER MISMATCH:

One user can have multiple addresses:
├── Cold storage wallet
├── Hot wallet for trading
├── Exchange account (exchange's address)
├── Hardware wallet backup
└── Old wallets from previous devices

One address can represent multiple users:
├── Exchange cold wallet (millions of users)
├── Custodial service
├── Payment processor
├── DEX aggregator
└── Institutional omnibus accounts

RESULT:
├── Address count > User count (individual wallets)
├── Address count < User count (custodial services)
├── True user count: Unknowable from on-chain data

This lesson teaches you to extract meaningful adoption signals despite this limitation.


Understanding XRPL's account model:

XRPL ACCOUNT CREATION:

REQUIREMENTS:
├── Minimum reserve: 10 XRP (current, was higher)
├── First transaction must be funded by existing account
├── Account address derived from public key
└── Account exists forever once created

CREATION TRANSACTION:
├── Payment of ≥10 XRP to new address creates account
├── Address appears in ledger as new AccountRoot
├── Requires base reserve (10 XRP) + owner reserve (2 XRP per object)
└── Reserve is "locked," not "spent"

ACCOUNT DELETION:
├── Accounts can be deleted (since 2020)
├── Recovers most of reserve (10 XRP returned, minus fee)
├── Requires: Account has no owned objects
├── Rarely used in practice
└── Deletion doesn't reduce "accounts ever created" count

Account reserve creates adoption friction:

RESERVE IMPACT ON ADOPTION:

CURRENT RESERVE: 10 XRP base + 2 XRP per object
├── At $0.50: $5.00 minimum to create account
├── At $1.00: $10.00 minimum
├── At $2.00: $20.00 minimum
└── Creates real barrier for experimentation

COMPARED TO OTHER NETWORKS:
├── Ethereum: Gas for first tx only (~$1-50)
├── Solana: ~0.00089 SOL (~$0.10)
├── Bitcoin: No account concept
└── XRPL reserve is relatively high

IMPACT ON METRICS:
├── Fewer casual/experimental accounts
├── Higher commitment per account created
├── Account creation rate sensitive to XRP price
├── "Accounts" represent more serious intent than other chains

HISTORICAL RESERVE:
├── Originally 200 XRP (!)
├── Reduced to 20 XRP (2021)
├── Reduced to 10 XRP (2021)
├── Validator voting can adjust further

The critical distinction:

ACCOUNT METRICS HIERARCHY:

TOTAL ACCOUNTS (Vanity Metric):
├── Every account ever created
├── Minus: Deleted accounts (small number)
├── Includes: Abandoned, dust, spam accounts
├── Current: ~5-6 million
├── Always increases
└── MISLEADING for adoption measurement

FUNDED ACCOUNTS:
├── Accounts with balance above reserve
├── More meaningful than total
├── Still includes inactive accounts
├── Current: ~2-3 million
└── BETTER but still imperfect

ACTIVE ACCOUNTS:
├── Accounts with transactions in defined period
├── Various definitions: 1 day, 7 days, 30 days
├── Measures actual participation
├── Current MAA: ~200,000-300,000
└── MEANINGFUL for adoption measurement

ENGAGED ACCOUNTS:
├── Active with multiple transactions
├── Recurring activity pattern
├── Power users of the network
├── Current: ~50,000-100,000
└── BEST for core user base measurement

Different timeframes serve different purposes:

ACTIVE ADDRESS DEFINITIONS:

DAILY ACTIVE ADDRESSES (DAA):
├── Unique addresses transacting in 24 hours
├── Most volatile metric
├── Affected by daily patterns
├── Use: Real-time monitoring
├── Typical XRPL range: 30,000-60,000

WEEKLY ACTIVE ADDRESSES (WAA):
├── Unique addresses transacting in 7 days
├── Smooths daily variation
├── Better trend indicator
├── Use: Short-term trend analysis
├── Typical XRPL range: 80,000-150,000

MONTHLY ACTIVE ADDRESSES (MAA):
├── Unique addresses transacting in 30 days
├── Most stable metric
├── Industry standard for comparison
├── Use: Adoption measurement
├── Typical XRPL range: 150,000-300,000

WHICH TO USE:
├── DAA: Operational monitoring
├── WAA: Trend identification
├── MAA: Adoption assessment, comparison
├── All: Complete picture

Methodology for accurate calculation:

# Conceptual active address calculation

def calculate_active_addresses(start_date, end_date):
    """
    Calculate unique active addresses in period.

Note: This is conceptual - actual implementation requires
    ledger data access and proper transaction filtering.
    """
    active_addresses = set()

# Iterate through ledgers in date range
    for ledger in get_ledgers_in_range(start_date, end_date):
        for tx in ledger.transactions:
            if tx.result == 'tesSUCCESS':
                # Add sender
                active_addresses.add(tx.Account)

# Add destination for Payments
                if tx.TransactionType == 'Payment':
                    active_addresses.add(tx.Destination)

# Add other relevant addresses based on tx type
                # (DEX counterparties, etc.)

return len(active_addresses)

# Refinements:
# - Filter by transaction type (count only certain activities?)
# - Filter by value (minimum transaction size?)
# - Separate by role (sender vs receiver?)

Not all "active" addresses represent genuine users:

ACTIVE ADDRESS FILTERING:

EXCLUDE (Typically):
├── Known exchange hot wallets (artificial activity)
├── Known bot addresses (automated, not users)
├── Addresses with >1000 transactions/day (bots)
├── Addresses only receiving dust (<0.01 XRP)
└── Known Ripple operational addresses

INCLUDE:
├── Addresses initiating transactions
├── Addresses receiving meaningful amounts
├── Exchange deposit addresses (represent users)
├── DEX participants
└── NFT buyers/sellers

GRAY AREA:
├── Arbitrage bot operators (real users, automated activity)
├── Market makers (real services, high volume)
├── Payment processors (one address, many users)
└── Document your inclusion/exclusion choices

Engagement depth measurement:

DAU/MAU RATIO:

FORMULA:
DAU/MAU Ratio = Daily Active Addresses / Monthly Active Addresses

INTERPRETATION:
├── Ratio of 1.0 = All monthly users active daily (impossible)
├── Ratio of 0.5 = Half of monthly users active each day (very engaged)
├── Ratio of 0.3 = 30% daily engagement (healthy)
├── Ratio of 0.1 = 10% daily engagement (casual usage)

TYPICAL RANGES:
├── Social apps: 0.3-0.5
├── Productivity apps: 0.2-0.4
├── Crypto networks: 0.1-0.3
├── XRPL typically: 0.15-0.25

WHAT IT REVEALS:
├── Higher ratio = More engaged, habitual users
├── Lower ratio = More casual, sporadic users
├── Stable ratio = Consistent engagement pattern
├── Falling ratio = Usage becoming less frequent

New account patterns reveal adoption:

NEW ACCOUNT METRICS:

DAILY NEW ACCOUNTS:
├── AccountRoot objects created per day
├── Identifiable by first transaction to new address
├── Typical XRPL: 5,000-15,000/day
├── Varies significantly with market conditions

NEW ACCOUNT RATE (NAR):
├── New accounts / Existing accounts (daily)
├── Measures growth velocity
├── Typical: 0.1-0.3% daily (during growth)

NEW ACCOUNT FUNDING:
├── Average funding amount for new accounts
├── Above reserve = Intent to use
├── Near reserve = Minimum viable
├── High funding = Serious user/institution

Not all new accounts represent new users:

NEW ACCOUNT QUALITY SIGNALS:

GENUINE ADOPTION SIGNALS:
├── Consistent daily creation rate
├── Funding above minimum reserve
├── Activity after creation (not just funding)
├── Diversity of funding sources
├── Geographic/time distribution

ARTIFICIAL INFLATION SIGNALS:
├── Spike in creation (thousands in hours)
├── Minimum reserve funding only
├── No activity after creation
├── Single funding source
├── Automated timing patterns

INVESTIGATION APPROACH:
├── Check funding source addresses
├── Measure post-creation activity rate
├── Compare funding amounts distribution
├── Look for automated patterns

EXAMPLE:
├── Day 1: 8,000 new accounts, avg funding 50 XRP, 40% active next week
├── Day 2: 50,000 new accounts, avg funding 10 XRP, 5% active next week
├── Day 2 was likely artificial (airdrop farming, spam, etc.)

What new users do first matters:

FIRST TRANSACTION PATTERNS:

HEALTHY PATTERNS:
├── Payment to known service (exchange, application)
├── TrustSet (preparing to receive tokens)
├── DEX order (intending to trade)
├── NFT purchase (specific intent)

CONCERNING PATTERNS:
├── No transaction after funding
├── Immediate transfer back to funding source
├── Only dust transactions
├── Account deletion soon after creation

ANALYSIS APPROACH:
├── Segment new accounts by first action
├── Track 7-day activity rates by segment
├── Compare segments over time
├── Identify which patterns correlate with retention

Track users over time by when they joined:

COHORT RETENTION FRAMEWORK:

COHORT DEFINITION:
├── Group accounts by creation week/month
├── Track their activity in subsequent periods
├── Compare cohorts to each other

EXAMPLE COHORT TABLE:
              Week 1  Week 2  Week 3  Week 4  Week 8
January cohort:  100%    45%     35%     30%     20%
February cohort: 100%    50%     42%     35%     25%
March cohort:    100%    55%     48%     40%     30%

READING THE TABLE:
├── January cohort: 45% still active after 1 week
├── February cohort improved: 50% after 1 week
├── March cohort best: 55% retention week 1
├── Trend: Retention improving over time

COHORT SIZE MATTERS:
├── Small cohorts = Noisy data
├── Need 1000+ accounts per cohort minimum
├── Larger cohorts = More stable metrics

Practical retention calculation:

RETENTION CALCULATION:

PERIOD RETENTION:
Retention(Week N) = Active in Week N / Active in Week 0

EXAMPLE:
├── Cohort created: 10,000 accounts in January
├── Active in January (Week 0): 10,000 (100%)
├── Active in February (Week 4): 3,500 (35%)
├── Active in March (Week 8): 2,000 (20%)
├── Active in June (Week 20): 1,200 (12%)

ACTIVITY DEFINITION:
├── "Active" = At least 1 transaction
├── Or: At least 1 initiated transaction (stricter)
├── Or: At least N XRP transacted (value threshold)
├── Document your definition

CHURN RATE:
Churn = 1 - Retention
├── 35% retention = 65% churn
├── Month-over-month churn shows decay rate

What retention curves reveal:

RETENTION CURVE SHAPES:

HEALTHY CURVE (Flattening):
Week:     0    1    2    4    8    12
Retention: 100% 50%  40%  35%  32%  30%
├── Initial drop, then stabilizes
├── Core user base established
├── Long-term users found

CONCERNING CURVE (Continuous Decline):
Week:     0    1    2    4    8    12
Retention: 100% 50%  35%  20%  10%  5%
├── Never stabilizes
├── No core user base
├── Product/market fit issues

EXCELLENT CURVE (Quick Stabilization):
Week:     0    1    2    4    8    12
Retention: 100% 60%  55%  52%  50%  50%
├── Fast stabilization
├── Strong product/market fit
├── Sticky use case

TYPICAL CRYPTO:
├── 30-50% retention at 1 week
├── 15-25% retention at 1 month
├── 10-15% long-term retention
├── XRPL likely in this range

Advanced retention considerations:

RETENTION REFINEMENTS:

SEGMENT BY USER TYPE:
├── Traders (DEX users)
├── Holders (infrequent but return)
├── Developers (technical transactions)
├── NFT users
├── Each segment has different retention patterns

ACTIVITY INTENSITY:
├── Light users: 1-2 transactions/month
├── Regular users: Weekly transactions
├── Power users: Daily transactions
├── Track transitions between tiers

REACTIVATION:
├── Dormant users who return
├── What triggers reactivation?
├── Price movements often reactivate
├── New features may reactivate

Measuring how XRP is distributed:

DISTRIBUTION METRICS:

TOP N ANALYSIS:
├── Top 100 addresses: ~45-50% of supply
├── Top 1,000 addresses: ~70-75% of supply  
├── Top 10,000 addresses: ~85-90% of supply
├── Remaining millions: ~10-15% of supply

IMPORTANT CONTEXT:
├── Includes Ripple escrow (~40%+ of total)
├── Includes exchange wallets (millions of users)
├── Includes lost/burned XRP
├── "Concentration" partly structural

EXCLUDING KNOWN ENTITIES:
├── Remove Ripple/escrow addresses
├── Remove labeled exchange addresses
├── Remaining concentration: Still high
├── But more representative of retail/institutional

Quantifying inequality:

GINI COEFFICIENT:

DEFINITION:
├── Measure of inequality (0 to 1)
├── 0 = Perfect equality (everyone equal)
├── 1 = Perfect inequality (one owns everything)

CALCULATION:
├── Plot cumulative distribution
├── Calculate area between perfect equality and actual
├── Gini = Area / 0.5

CRYPTO GINI RANGES:
├── Bitcoin: ~0.85-0.90 (very concentrated)
├── Ethereum: ~0.80-0.85
├── XRP: ~0.90+ (very concentrated)
├── Note: All crypto is highly concentrated

INTERPRETATION:
├── High Gini isn't necessarily bad
├── Early-stage assets always concentrated
├── Exchange holdings inflate concentration
├── Trend matters more than absolute value
├── Decreasing Gini = Distribution happening

Understanding who holds XRP:

HOLDER SEGMENTATION:

BY BALANCE SIZE:
├── Dust (<10 XRP): Often abandoned, spam accounts
├── Small (10-1,000 XRP): Retail, experimental
├── Medium (1,000-100,000 XRP): Serious retail
├── Large (100,000-10M XRP): HNW, small institutions
├── Whale (>10M XRP): Institutions, early holders

BY HOLDING PATTERN:
├── Active holders: Transaction history, still use
├── Dormant holders: No activity 6+ months
├── Lost holders: No activity 3+ years, likely lost
├── Exchange attributed: Exchange wallet, many users

BALANCE DISTRIBUTION TREND:
├── Are small holders increasing?
├── Is median balance changing?
├── Are whales accumulating or distributing?
├── Healthy: Gradual shift toward broader distribution

Where XRP is held matters:

CUSTODY ANALYSIS:

EXCHANGE HOLDINGS (Estimated):
├── Identifiable exchange wallets: ~20-25% of supply
├── Actual could be higher (unlabeled wallets)
├── Represents: Trading liquidity, custodial users
├── Higher exchange holdings = More trading-oriented

SELF-CUSTODY INDICATORS:
├── Non-exchange, non-Ripple holdings
├── Growing self-custody = Long-term holders
├── Decreasing = Possible selling preparation

TRACKING METHODS:
├── Label known exchange addresses
├── Monitor exchange inflows/outflows
├── Large outflows = Self-custody increasing
├── Large inflows = Selling pressure potential

INTERPRETATION CAUTION:
├── Exchange holdings ≠ sell pressure
├── Self-custody ≠ holding forever
├── Trends matter more than levels
├── Cross-reference with other indicators

Essential metrics to track:

ADDRESS METRICS DASHBOARD:

DAILY TRACKING:
├── DAA (with trend vs 7-day avg)
├── New accounts created
├── Large account movements (>1M XRP)

WEEKLY TRACKING:
├── WAA (with trend vs 4-week avg)
├── DAA/WAA ratio
├── New account quality (funding amounts, first actions)
├── Retention: This week's new accounts vs last week's activity

MONTHLY TRACKING:
├── MAA (with trend vs 3-month avg)
├── DAU/MAU ratio
├── Full cohort retention update
├── Distribution changes
├── Exchange flow summary

QUARTERLY TRACKING:
├── Gini coefficient trend
├── Holder segment evolution
├── Long-term retention (6+ month cohorts)
├── Comprehensive distribution analysis

How to gather address data:

DATA COLLECTION METHODS:

FOR ACTIVE ADDRESSES:
├── Direct ledger query (most accurate, most work)
├── Block explorer APIs (convenient, may have limits)
├── Third-party analytics (easiest, verify methodology)
└── Cross-reference sources

FOR NEW ACCOUNTS:
├── Track Payment transactions creating new addresses
├── Block explorers often show this directly
├── New accounts = addresses appearing for first time

FOR DISTRIBUTION:
├── Snapshot account balances from ledger state
├── Rich lists from explorers (XRPScan, Bithomp)
├── Note: Point-in-time, changes constantly
├── Calculate own Gini if explorer doesn't provide

FOR RETENTION:
├── Requires historical data storage
├── Track cohort addresses over time
├── Most labor-intensive metric
├── May need to build own tracking system

✅ Active address metrics meaningfully track network participation better than total accounts

✅ Cohort retention analysis reveals user quality and engagement patterns

✅ Distribution metrics quantify concentration and can track trends over time

✅ Address-user distinction is fundamental to honest analysis

⚠️ True user count is unknowable from on-chain data

⚠️ Exchange wallet attribution is incomplete and changing

⚠️ Optimal activity thresholds for "active" definition vary by use case

⚠️ Retention benchmarks for crypto are not well established

📌 Using total account count as adoption metric

📌 Comparing active addresses across chains without methodology normalization

📌 Ignoring exchange holdings when analyzing distribution

📌 Treating short-term retention changes as significant trends

Address metrics are the closest we can get to understanding the user base behind the transactions, but they're imperfect proxies. One address doesn't equal one user; one exchange wallet might represent millions. The value lies in tracking trends over time with consistent methodology, not in absolute numbers. If MAA grows 20% while methodology stays constant, that's meaningful adoption growth—even if you don't know the exact user count.


Assignment: Conduct comprehensive address analysis for XRPL, building cohort retention tracking and distribution analysis.

Requirements:

Part 1: Active Address Analysis (30%)

  • Calculate DAA, WAA, MAA for current period
  • Calculate DAU/MAU ratio
  • Compare to 3-month and 12-month historical averages
  • Document methodology and data sources
  • Analyze any significant patterns or anomalies

Part 2: New Account Analysis (25%)

  • Track new account creation for 30 days
  • Analyze funding patterns (average amounts, distribution)
  • Measure first-transaction types
  • Estimate "quality" rate (accounts that remain active)
  • Compare to historical new account patterns

Part 3: Retention Analysis (25%)

  • Build cohort retention table for last 3-4 months
  • Calculate retention at Week 1, Week 2, Week 4
  • Compare cohort retention across months
  • Identify any trends or anomalies
  • Provide interpretation of retention health

Part 4: Distribution Analysis (20%)

  • Document top holder concentration (Top 100, 1000, 10000)

  • Identify known entity holdings (Ripple, exchanges)

  • Calculate or obtain Gini coefficient

  • Analyze holder segmentation by balance size

  • Compare to 6-month or 12-month historical (if available)

  • Active address calculation accuracy (20%)

  • New account analysis depth (20%)

  • Retention methodology rigor (25%)

  • Distribution analysis completeness (20%)

  • Documentation and interpretation (15%)

Time investment: 4-5 hours
Value: Address metrics provide the adoption perspective that transaction metrics can't. This analysis becomes your framework for understanding who uses XRPL.


1. Active Address Definitions:

Why is Monthly Active Addresses (MAA) generally preferred over Daily Active Addresses (DAA) for measuring adoption?

A) MAA is larger and therefore more impressive for reports
B) MAA smooths daily volatility and captures users who don't transact daily
C) DAA includes bots while MAA excludes them
D) MAA is the only metric that can be calculated from public data

Correct Answer: B

Explanation: MAA captures users whose activity patterns don't require daily transactions (many legitimate users transact weekly or monthly). DAA is noisy and misses casual but genuine users. MAA smooths these variations while still measuring actual participation. A is superficial reasoning. C is incorrect—neither inherently excludes bots. D is factually wrong—all metrics are calculable from public data.


2. Retention Interpretation:

A new cohort shows 45% retention at Week 1 and 40% retention at Week 4. An older cohort showed 35% retention at Week 1 and 20% at Week 4. What does this comparison suggest?

A) The network is declining because retention percentages are below 50%
B) The newer cohort has better retention, suggesting improved product-market fit or user quality
C) The metrics are incomparable because cohorts are different sizes
D) No conclusion can be drawn from two cohorts alone

Correct Answer: B

Explanation: The newer cohort retained more users at both Week 1 (45% vs 35%) and Week 4 (40% vs 20%), suggesting improvement in user quality or product-market fit. Higher retention at comparable timeframes indicates healthier engagement. A applies arbitrary threshold. C misses that retention is a percentage, already normalized. D is overly conservative—clear improvement is visible.


3. Distribution Analysis:

You observe that the top 100 XRP addresses hold 50% of supply. What additional information is MOST important before concluding the network is "too concentrated"?

A) The current XRP price
B) How these holdings compare to Bitcoin and Ethereum
C) What proportion of these addresses are known entities (Ripple escrow, exchanges)
D) The total number of XRP transactions per day

Correct Answer: C

Explanation: Concentration metrics are misleading without entity attribution. If 40% of that 50% is Ripple escrow (structural) and another 5% is exchange cold wallets (representing millions of users), the "concentration" has different meaning than 50% held by 100 anonymous whales. A is irrelevant to concentration. B provides context but doesn't explain the concentration. D measures activity, not distribution.


4. Account Creation:

New account creation spikes from 8,000/day to 40,000/day for one week. What investigation should you prioritize?

A) Celebrate the growth and report it as adoption success
B) Check funding amounts, funding sources, and post-creation activity rates
C) Assume it's spam and ignore it in your analysis
D) Wait one year to see if the accounts are still active

Correct Answer: B

Explanation: Spikes require investigation before interpretation. Checking funding patterns (minimum reserve vs larger amounts), funding sources (diverse vs single source), and post-creation activity (genuine use vs abandon) distinguishes real adoption from artificial inflation. A assumes quality without evidence. C assumes spam without evidence. D is impractical for timely analysis.


5. DAU/MAU Ratio:

XRPL shows DAU/MAU ratio of 0.18 while a competing smart contract platform shows 0.35. What is the MOST appropriate interpretation?

A) The competitor is definitively healthier with more engaged users
B) XRPL is failing because engagement is below industry standards
C) Different use cases may have different natural engagement patterns—payments may not require daily activity
D) The metrics are not comparable because the networks are different sizes

Correct Answer: C

Explanation: Usage frequency differs by application. A smart contract platform with DeFi may naturally have daily users (yield farming, trading). A payment network may have legitimate users who transact weekly or monthly. Lower DAU/MAU doesn't indicate failure if the use case doesn't require daily engagement. A and B ignore use-case context. D is incorrect—ratios are already normalized.


  • Glassnode Academy: Active address methodology
  • CoinMetrics: Address activity metrics documentation
  • Amplitude/Mixpanel blog: Cohort retention methodology (app-focused but principles apply)
  • a16z crypto: Network effect metrics
  • Rich lists: XRPScan, Bithomp
  • Academic papers on cryptocurrency wealth distribution

For Next Lesson:
Lesson 8 examines DEX Metrics—measuring trading activity, liquidity depth, and market health on XRPL's native decentralized exchange.


End of Lesson 7

Total words: ~6,800
Estimated completion time: 55 minutes reading + 4-5 hours for deliverable

Key Takeaways

1

Accounts ≠ Users

: One user can have multiple addresses; one address (exchange) can represent millions of users. Never equate account count with user count.

2

Active > Total

: Monthly Active Addresses (MAA) measures actual participation. Total accounts is a vanity metric inflated by abandoned and spam accounts.

3

Retention reveals quality

: A network with high new account creation but poor retention isn't growing—it's churning. Cohort retention analysis separates sustainable growth from temporary spikes.

4

Distribution context matters

: XRP is highly concentrated, but so is all crypto. Ripple/escrow holdings and exchange wallets explain much concentration. Track trends, not absolute levels.

5

DAU/MAU measures engagement depth

: A ratio of 0.2 means 20% of monthly users are active daily. Higher ratios indicate more habitual, sticky usage. ---