Files
explorer-monorepo/docs/CCIP_FEE_ANALYSIS_EXECUTIVE_SUMMARY.md

4.0 KiB

CCIP Fee Analysis - Executive Summary

Date: 2025-01-12
Status: Analysis Complete


Quick Reference

Critical Issues Found

  1. ⚠️ LINK Token Not Deployed: LINK token contract appears empty
  2. ⚠️ Bridge LINK Balance Unknown: Cannot verify if bridges have LINK for fees
  3. ⚠️ Fee Calculation Failing: Cannot query fee amounts
  4. ⚠️ Stuck Transaction: Nonce 37 blocked (Ethereum Mainnet configuration)

Immediate Actions Required

  1. Deploy/Verify LINK Token (CRITICAL)
  2. Fund Bridge Contracts with LINK (CRITICAL)
  3. Resolve Stuck Transaction (HIGH)
  4. Implement Dynamic Gas Pricing (HIGH)

Fee Mechanisms Summary

  • Router Fee Token: LINK (0x514910771AF9Ca656af840dff83E8264EcF986CA)
  • Base Fee: 0.001 LINK
  • Data Fee: 0.0000001 LINK per byte
  • Payment: Bridge contracts must have LINK balance

Gas Fees: ETH

  • Source Chain: ~0.1-0.2 ETH per transaction (at current gas price)
  • Destination Chains: Vary by chain
  • Payment: User pays ETH for gas

Prevention Strategies

Stuck Transactions

  1. Use Dynamic Gas Pricing: 1.5x current gas price
  2. Check Nonce Before Sending: Wait for pending transactions
  3. Monitor Mempool: Track pending transactions
  4. Set Timeouts: Don't wait indefinitely

Failed Transactions

  1. Pre-Flight Checks: Validate all requirements
  2. Balance Validation: Check ETH, LINK, and token balances
  3. Destination Validation: Verify destination is configured
  4. Fee Estimation: Calculate fees before sending
  5. Gas Estimation: Estimate gas before sending

New Tools Created

Scripts

  1. check-fee-requirements.sh: Validates all fee requirements
  2. send-with-optimal-gas.sh: Sends transactions with optimal gas pricing

Documentation

  1. CCIP_FEE_AND_LIMITATION_ANALYSIS.md: Complete analysis
  2. CCIP_FEE_ANALYSIS_EXECUTIVE_SUMMARY.md: This document

Usage Examples

Check Fee Requirements

./scripts/check-fee-requirements.sh 0.001

Send Transaction with Optimal Gas

./scripts/send-with-optimal-gas.sh \
    "$WETH9_BRIDGE" \
    "addDestination(uint64,address)" \
    "$SELECTOR" \
    "$DEST_ADDRESS"

Configure with Optimal Gas

GAS_MULTIPLIER=2.0 ./scripts/send-with-optimal-gas.sh \
    "$WETH9_BRIDGE" \
    "addDestination(uint64,address)" \
    "$SELECTOR" \
    "$DEST_ADDRESS"

Recommendations Priority

Critical (Do First)

  1. Deploy/verify LINK token contract
  2. Fund bridge contracts with LINK (minimum 10 LINK each)
  3. Resolve stuck transaction at nonce 37

High Priority

  1. Implement dynamic gas pricing in all scripts
  2. Add pre-flight validation to all operations
  3. Create transaction monitoring system

Medium Priority

  1. Implement fee monitoring
  2. Add retry logic with exponential backoff
  3. Create comprehensive error handling

Low Priority

  1. Multi-sig for admin functions
  2. Rate limit monitoring
  3. Automated testing suite

Key Findings

Fee Structure

  • CCIP Fees: Paid in LINK (not ETH)
  • Gas Fees: Paid in ETH
  • Total Cost: LINK fees + ETH gas

Limitations

  • Rate Limits: Unknown (cannot verify)
  • Transaction Limits: Unknown
  • Gas Limits: Network-dependent

Current Status

  • ETH Balance: Sufficient (999630769 ETH)
  • LINK Token: Not deployed/verified
  • Bridge LINK Balance: Unknown
  • ⚠️ Fee Calculation: Failing

Next Steps

  1. Run Fee Check:

    ./scripts/check-fee-requirements.sh
    
  2. Deploy LINK Token (if needed):

    • Use standard LINK contract
    • Or deploy custom LINK token
  3. Fund Bridges:

    • Transfer LINK to WETH9 Bridge
    • Transfer LINK to WETH10 Bridge
  4. Resolve Stuck Transaction:

    • Wait for transaction to clear
    • Or use extremely high gas price
    • Or contact network administrator
  5. Use Optimal Gas:

    ./scripts/send-with-optimal-gas.sh ...
    

Last Updated: 2025-01-12