6.4 KiB
6.4 KiB
Token Pairs Being Monitored - Complete List
Summary
The MEV bot discovers pools for 45 unique token pairs across 10 major Arbitrum tokens, resulting in 50-60+ individual pools when accounting for multiple DEXes and fee tiers per pair.
The 10 Tokens
| # | Symbol | Name | Address (Arbitrum) | Type |
|---|---|---|---|---|
| 1 | WETH | Wrapped Ether | 0x82af49447d8a07e3bd95bd0d56f35241523fbab1 | Base Asset |
| 2 | USDC | USD Coin | 0xaf88d065e77c8cc2239327c5edb3a432268e5831 | Stablecoin |
| 3 | USDT | Tether | 0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9 | Stablecoin |
| 4 | ARB | Arbitrum | 0x912ce59144191c1204e64559fe8253a0e49e6548 | Governance |
| 5 | WBTC | Wrapped Bitcoin | 0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f | BTC Proxy |
| 6 | DAI | Dai Stablecoin | 0xda10009cbd5d07dd0cecc66161fc93d7c9000da1 | Stablecoin |
| 7 | LINK | Chainlink | 0xf97f4df75117a78c1a5a0dbb814af92458539fb4 | Oracle |
| 8 | UNI | Uniswap | 0xfa7f8980b0f1e64a2062791cc3b0871572f1f7f0 | Governance |
| 9 | GMX | GMX | 0xfc5a1a6eb076a2c7ad06ed22c90d7e710e35ad0a | Perps |
| 10 | GRT | The Graph | 0x9623063377ad1b27544c965ccd7342f7ea7e88c7 | Indexing |
All 45 Token Pairs
WETH Pairs (9)
- WETH/USDC ⭐ - Highest volume pair
- WETH/USDT ⭐ - High volume
- WETH/ARB ⭐ - Arbitrum native
- WETH/WBTC ⭐ - BTC-ETH correlation
- WETH/DAI
- WETH/LINK
- WETH/UNI
- WETH/GMX ⭐ - Popular on Arbitrum
- WETH/GRT
USDC Pairs (8)
- USDC/USDT ⭐ - Stablecoin arbitrage
- USDC/ARB ⭐ - High volume
- USDC/WBTC
- USDC/DAI ⭐ - Stablecoin trio
- USDC/LINK
- USDC/UNI
- USDC/GMX ⭐ - GMX liquidity
- USDC/GRT
USDT Pairs (7)
- USDT/ARB ⭐ - High volume
- USDT/WBTC
- USDT/DAI ⭐ - Stablecoin arbitrage
- USDT/LINK
- USDT/UNI
- USDT/GMX
- USDT/GRT
ARB Pairs (6)
- ARB/WBTC
- ARB/DAI
- ARB/LINK
- ARB/UNI
- ARB/GMX ⭐ - Both Arbitrum natives
- ARB/GRT
WBTC Pairs (5)
- WBTC/DAI
- WBTC/LINK
- WBTC/UNI
- WBTC/GMX
- WBTC/GRT
DAI Pairs (4)
- DAI/LINK
- DAI/UNI
- DAI/GMX
- DAI/GRT
LINK Pairs (3)
- LINK/UNI
- LINK/GMX
- LINK/GRT
UNI Pairs (2)
- UNI/GMX
- UNI/GRT
GMX Pairs (1)
- GMX/GRT
Why 50+ Pools from 45 Pairs?
Each token pair can have multiple pools across different:
1. DEX Protocols (6)
- Uniswap V3 - Concentrated liquidity
- Uniswap V2 - Classic AMM
- SushiSwap - Fork of V2
- Camelot - Arbitrum-native DEX
- Curve - Optimized for stablecoins
- Balancer - Multi-asset pools
2. Fee Tiers (Uniswap V3)
- 0.05% - Stablecoin pairs
- 0.3% - Most pairs (standard)
- 1% - Exotic/volatile pairs
Example: WETH/USDC Pools
Token Pair: WETH/USDC
├─ Uniswap V3 (0.05% fee) → Pool #1
├─ Uniswap V3 (0.3% fee) → Pool #2
├─ Uniswap V3 (1% fee) → Pool #3
├─ SushiSwap → Pool #4
└─ Camelot → Pool #5
Result: 1 pair = 5 pools
High-Priority Pairs (⭐)
These pairs typically have the highest liquidity and trading volume:
| Rank | Pair | Why High Priority |
|---|---|---|
| 1 | WETH/USDC | Highest volume, tightest spreads |
| 2 | WETH/USDT | Second highest volume |
| 3 | WETH/ARB | Native token, high activity |
| 4 | USDC/USDT | Stablecoin arbitrage opportunities |
| 5 | USDC/ARB | High ARB trading volume |
| 6 | USDC/DAI | Stablecoin triangular arbitrage |
| 7 | USDT/DAI | Additional stablecoin route |
| 8 | WETH/WBTC | BTC-ETH correlation trades |
| 9 | WETH/GMX | GMX is popular on Arbitrum |
| 10 | USDC/GMX | GMX primary liquidity |
Discovery Process
CREATE2 Calculation
For each token pair, the bot:
- Calculates deterministic pool addresses using CREATE2
- Checks all 6 DEX factory contracts
- Validates pools exist on-chain
- Fetches pool metadata (reserves, liquidity)
- Caches valid pools to
data/pools.json
Pool Validation
// For each token pair
for i := 0; i < len(tokenList); i++ {
for j := i + 1; j < len(tokenList); j++ {
// Discover all pools for this pair across all DEXes
pools := DiscoverPoolsForTokenPair(token0, token1)
// Could find 1-5 pools per pair
}
}
Expected Pool Distribution
| Pool Type | Count | Notes |
|---|---|---|
| Uniswap V3 (0.3%) | 20-25 | Most common |
| Uniswap V3 (0.05%) | 8-10 | Stablecoin pairs |
| Uniswap V3 (1%) | 3-5 | Volatile pairs |
| SushiSwap | 10-12 | Popular pairs |
| Camelot | 8-10 | Arbitrum native |
| Curve | 2-3 | Stablecoin only |
| Total | 50-65 | Varies by liquidity |
Arbitrage Opportunities
Two-Hop Arbitrage
Example: Price divergence between DEXes
Buy WETH on Uniswap V3 (0.3%) → Sell WETH on SushiSwap
Triangular Arbitrage
Example: Multi-hop with price inefficiencies
USDC → WETH (Uniswap) → ARB (Camelot) → USDC (SushiSwap)
Stablecoin Arbitrage
Example: Peg deviation trading
USDC → USDT (Curve 0.05%) → DAI (Uniswap) → USDC (SushiSwap)
Monitoring Strategy
Real-Time
- Listen for swap events on all 50+ pools
- Calculate price divergences across DEXes
- Detect arbitrage opportunities instantly
Periodic
- Re-discover pools every 24 hours
- Update pool metadata (reserves, liquidity)
- Remove inactive/deprecated pools
Dynamic
- Add new tokens as they gain volume
- Monitor for new pool deployments
- Adjust based on profitability data
Mathematical Proof
Combination Formula:
C(n,k) = n! / (k! × (n-k)!)
For 10 tokens, choosing 2 at a time:
C(10,2) = 10! / (2! × 8!)
= (10 × 9) / (2 × 1)
= 45 unique pairs
Pool Multiplier:
45 pairs × 1.2 average pools per pair = ~54 pools
(Some pairs have 1 pool, some have 3-5)
Future Expansion
Short Term
- Add 5 more tokens (60 pairs → 75+ pools)
- Include Arbitrum Nova pairs
- Monitor USDC.e (bridged USDC) separately
Long Term
- Cross-chain pairs (Arbitrum ↔ Ethereum)
- Exotic pairs with lower volume
- LP token arbitrage
- Options protocol integration
References
- Code:
cmd/mev-bot/main.go:256-323 - Token Addresses:
internal/tokens/arbitrum.go - Pool Discovery:
pkg/pools/discovery.go - CREATE2 Calculation:
pkg/pools/create2.go
Last Updated: October 30, 2025 Pool Count: 45 pairs → 50-60+ pools Status: Active Discovery Implemented