Supported Metrics

circle-info

ℹ️ REVIEW NEEDED: Please verify that all metrics documented here are actually implemented in arb-assist. The profit_per_arb metric in particular should be confirmed as it was mentioned in the changelog but may not exist in the actual code.

This reference documents all metrics available for sorting and filtering in arb-assist.

Financial Metrics

profit

Type: Integer (lamports) Range: 0 to MAX_U64 Description: Total cumulative arbitrage profit generated by a mint

Calculation:

profit = Σ(output_amount - input_amount - gas_fees)

Usage:

# Sort by highest profit
intermint_sort_strategy = { metric = "profit", direction = "descending" }

# Filter by minimum profit
filter_thresholds = [{ min_profit = 10_000_000 }]

Best for:

  • Maximizing absolute returns

  • High-capital strategies

  • Long-term value extraction

roi

Type: Float Range: 0.0 to ∞ Description: Return on Investment - profit relative to costs

Calculation:

Usage:

Best for:

  • Capital-efficient strategies

  • Limited fund operations

  • Cost-conscious trading

profit_per_arb

Type: Integer (lamports) Range: 0 to MAX_U64 Description: Average profit per successful arbitrage

Calculation:

Usage:

Best for:

  • Identifying reliable opportunities

  • Risk-adjusted strategies

  • Consistent returns

fee

Type: Integer (lamports) Range: 0 to MAX_U64 Description: Total transaction fees paid

Calculation:

Usage:

Note: Primarily used internally for ROI calculations

Volume Metrics

total_volume

Type: Integer (lamports) Range: 0 to MAX_U64 Description: Combined buy and sell volume

Calculation:

Usage:

Best for:

  • Finding active markets

  • Liquidity assessment

  • Opportunity frequency

net_volume

Type: Integer (lamports) Range: 0 to MAX_U64 Description: Absolute difference between buy and sell volume

Calculation:

Usage:

Best for:

  • Trend identification

  • Directional strategies

  • Momentum trading

buy_volume

Type: Integer (lamports) Range: 0 to MAX_U64 Description: Total volume of buy transactions

Usage:

sell_volume

Type: Integer (lamports) Range: 0 to MAX_U64 Description: Total volume of sell transactions

Usage:

imbalance

Type: Float Range: 0.0 to 1.0 Description: Ratio of directional volume to total volume

Calculation:

Usage:

Best for:

  • Identifying price pressure

  • Arbitrage opportunities

  • Market inefficiencies

Success Metrics

successful_arbs

Type: Integer Range: 0 to MAX_U64 Description: Count of successful arbitrage transactions

Usage:

Best for:

  • Proven opportunities

  • Reliability assessment

  • Historical validation

fails

Type: Integer Range: 0 to MAX_U64 Description: Count of failed arbitrage attempts

Usage:

Best for:

  • Risk assessment

  • Reliability filtering

  • Success rate analysis

buy_count

Type: Integer Range: 0 to MAX_U64 Description: Number of buy transactions observed

Usage:

sell_count

Type: Integer Range: 0 to MAX_U64 Description: Number of sell transactions observed

Usage:

Market Metrics

liquidity

Type: Integer (lamports) Range: 0 to MAX_U64 Description: Total liquidity across all pools for a mint

Calculation:

Usage:

Best for:

  • Large position trades

  • Slippage minimization

  • Stable pricing

pool_age

Type: Integer (milliseconds) Range: 0 to MAX_U64 Description: Time since pool was first detected by arb-assist

Usage:

Best for:

  • New token discovery

  • Launch trading

  • Maturity assessment

Note: This is detection time, not actual pool creation time

turnover

Type: Float Range: 0.0 to ∞ Description: Ratio of volume to liquidity

Calculation:

Usage:

Best for:

  • Finding active pools

  • Efficiency metrics

  • Opportunity frequency

volatility

Type: Float Range: 0.0 to ∞ Description: Price movement intensity measure

Calculation:

Usage:

Best for:

  • High opportunity markets

  • Risk assessment

  • Arbitrage potential

Metric Combinations

Composite Strategies

Combine metrics for sophisticated filtering:

Conditional Logic

Different metrics for different conditions:

Performance Considerations

Memory Impact

All metrics accumulate historical data over time:

  • Controlled by the halflife parameter

  • Shorter halflife = less memory usage

  • Longer halflife = more historical context

Update Frequency

Metrics are recalculated based on the configured interval:

  • More frequent updates provide fresher data

  • Less frequent updates reduce system load

  • Balance based on your performance requirements

Best Practices

  1. Start Simple: Use basic metrics like profit and volume

  2. Add Complexity Gradually: Layer in advanced metrics

  3. Monitor Performance: Some metrics are CPU-intensive

  4. Validate Assumptions: Backtest metric effectiveness

  5. Combine Wisely: Multiple metrics can conflict

  6. Document Choices: Record why you chose specific metrics

  7. Review Regularly: Market conditions change

Metric Availability

By Output Mode

All metrics available in all modes:

  • mode = "smb"

  • mode = "na"

  • mode = "both"

By Sort Context

intermint_sort_strategy: All metrics available

pool_sort_strategy: Subset available:

  • profit

  • successful_arbs

  • liquidity

  • volume metrics

  • pool_age

Real-time vs Historical

All metrics incorporate historical data with decay:

Recent activity weighted more heavily than old data.

Last updated