Skip to content

Exchange Support

ArBot supports multiple cryptocurrency exchanges through a modular adapter architecture. Each exchange is implemented as a separate adapter that conforms to a standardized interface, making it easy to add new exchanges and maintain consistent functionality across platforms.

Supported Exchanges

Currently Supported

Exchange Status Region Features
Binance ✅ Full Support Global Spot trading, WebSocket feeds, Advanced APIs
Bybit ✅ Full Support Global Spot trading, WebSocket feeds, Low latency
OKX ⚡ Basic Support Global Spot trading, API integration
Bitget ⚡ Basic Support Global Spot trading, Growing liquidity

Planned Support

Exchange Status Expected Notes
Kraken 🔄 Planned Q2 2025 European focus
KuCoin 🔄 Planned Q2 2025 Wide token selection
Gate.io 🔄 Planned Q3 2025 Asian markets
Huobi 🔄 Planned Q3 2025 Asian markets

Exchange Features

Binance

World's largest cryptocurrency exchange by trading volume

Strengths: - Highest liquidity across most trading pairs - Sub-millisecond WebSocket latency - Comprehensive API documentation - Global availability (restrictions in some regions)

API Features: - Real-time ticker streams - Order book depth data - Account management - Advanced order types

Configuration:

{
  "exchanges": {
    "binance": {
      "enabled": true,
      "arbitrage_enabled": true,
      "region": "global",
      "premium_baseline": 0.0
    }
  }
}

API Keys Setup:

BINANCE_API_KEY=your_binance_api_key
BINANCE_API_SECRET=your_binance_secret
BINANCE_TESTNET=false

Bybit

Leading derivatives exchange with strong spot trading

Strengths: - Excellent API performance - Strong focus on derivatives - Growing spot market liquidity - Competitive fee structure

API Features: - High-frequency trading support - WebSocket v5 API - Unified trading account - Copy trading integration

Configuration:

{
  "exchanges": {
    "bybit": {
      "enabled": true,
      "arbitrage_enabled": true,
      "region": "global",
      "premium_baseline": 0.0
    }
  }
}

API Keys Setup:

BYBIT_API_KEY=your_bybit_api_key
BYBIT_API_SECRET=your_bybit_secret
BYBIT_TESTNET=false

OKX

Major global exchange with comprehensive features

Strengths: - Strong institutional focus - Advanced trading features - Global liquidity - Multi-asset support

API Features: - WebSocket API v5 - Unified account system - Advanced order types - Portfolio margin

Configuration:

{
  "exchanges": {
    "okx": {
      "enabled": true,
      "arbitrage_enabled": true,
      "region": "global",
      "premium_baseline": 0.0
    }
  }
}

API Keys Setup:

OKX_API_KEY=your_okx_api_key
OKX_API_SECRET=your_okx_secret
OKX_PASSPHRASE=your_okx_passphrase
OKX_TESTNET=false

Bitget

Fast-growing exchange with competitive rates

Strengths: - Competitive trading fees - Growing market share - Copy trading features - Strong mobile app

API Features: - WebSocket streaming - Spot and futures trading - Copy trading API - Grid trading

Configuration:

{
  "exchanges": {
    "bitget": {
      "enabled": true,
      "arbitrage_enabled": true,
      "region": "global",
      "premium_baseline": 0.0
    }
  }
}

API Keys Setup:

BITGET_API_KEY=your_bitget_api_key
BITGET_API_SECRET=your_bitget_secret
BITGET_PASSPHRASE=your_bitget_passphrase
BITGET_TESTNET=false

Exchange Selection Strategy

For Maximum Liquidity

Recommended Combination: - ✅ Binance (primary) - ✅ Bybit (secondary) - ⚡ OKX (tertiary)

Rationale: - Binance provides the highest liquidity - Bybit offers competitive spreads - OKX adds additional opportunities

For Geographic Diversity

Global Coverage: - Binance (Global) - Bybit (Asia-Pacific focus) - OKX (Asia-Europe focus) - Bitget (Growing globally)

For Risk Distribution

Multi-Exchange Strategy: - Enable all available exchanges - Set appropriate premium baselines - Monitor correlation patterns - Diversify exposure

Regional Considerations

Regulatory Compliance

United States: - Binance.US (separate entity) - Compliance with CFTC/SEC regulations - Limited token availability

European Union: - MiCA regulation compliance - Enhanced KYC requirements - Stablecoin restrictions

Asia-Pacific: - Varying regulatory environments - Strong retail adoption - High trading volumes

Premium Patterns

Regional Premiums:

{
  "regional_premiums": {
    "korea": {
      "exchanges": ["upbit", "bithumb"],
      "typical_premium_pct": 2.5,
      "description": "Kimchi Premium"
    },
    "japan": {
      "exchanges": ["bitflyer", "coincheck"],
      "typical_premium_pct": 1.5,
      "description": "Japanese Premium"
    }
  }
}

Technical Implementation

Exchange Adapter Architecture

Base Interface:

class BaseExchange(ABC):
    @abstractmethod
    async def connect_ws(self) -> None:
        """Establish WebSocket connection"""
        pass

    @abstractmethod
    async def get_orderbook(self, symbol: str) -> OrderBook:
        """Get current order book"""
        pass

    @abstractmethod
    async def place_order(self, symbol: str, side: OrderSide, 
                         amount: float, price: float) -> Order:
        """Place trading order"""
        pass

    @abstractmethod
    async def get_balance(self) -> Dict[str, float]:
        """Get account balance"""
        pass

Connection Management

WebSocket Connections: - Automatic reconnection on disconnect - Exponential backoff retry logic - Health check monitoring - Rate limit compliance

REST API Calls: - Connection pooling - Request timeout handling - Error retry mechanisms - API key rotation support

Data Normalization

Standardized Data Formats:

@dataclass
class Ticker:
    symbol: str
    exchange: str
    bid: float
    ask: float
    bid_size: float
    ask_size: float
    timestamp: float

Price Data Processing: - Real-time ticker updates - Order book depth aggregation - Trade history collection - Fee structure parsing

Performance Considerations

Latency Optimization

Network Optimization: - Geographic server selection - Connection pooling - Persistent connections - Compression support

Data Processing: - Efficient data structures - Memory management - CPU optimization - Concurrent processing

Reliability Measures

Error Handling: - Graceful degradation - Circuit breaker patterns - Health monitoring - Automatic recovery

Data Quality: - Price validation - Timestamp verification - Outlier detection - Data integrity checks

Exchange-Specific Features

Fee Structures

Trading Fees by Exchange: | Exchange | Maker Fee | Taker Fee | Notes | |----------|-----------|-----------|-------| | Binance | 0.1% | 0.1% | VIP discounts available | | Bybit | 0.1% | 0.1% | Volume-based tiers | | OKX | 0.08% | 0.1% | Loyalty program | | Bitget | 0.1% | 0.1% | Competitive rates |

API Rate Limits

Request Limits: | Exchange | WebSocket | REST API | Burst Limit | |----------|-----------|----------|-------------| | Binance | 1200/min | 6000/min | 10/second | | Bybit | Unlimited | 600/min | 10/second | | OKX | 480/min | 300/min | 5/second | | Bitget | 600/min | 600/min | 10/second |

Market Data Quality

Update Frequency: - Binance: ~100ms average - Bybit: ~50ms average - OKX: ~200ms average - Bitget: ~150ms average

Adding New Exchange Support

Development Process

  1. Research Exchange API
  2. Study API documentation
  3. Test WebSocket connections
  4. Understand fee structures
  5. Review rate limits

  6. Implement Exchange Adapter

    class NewExchange(BaseExchange):
        def __init__(self, config: ExchangeConfig):
            super().__init__(config)
            # Initialize exchange-specific client
    
        async def connect_ws(self):
            # Implement WebSocket connection
            pass
    

  7. Add Configuration Support

  8. Update config schema
  9. Add environment variables
  10. Update validation logic

  11. Testing and Integration

  12. Unit tests for adapter
  13. Integration tests with live data
  14. Performance benchmarking

Contribution Guidelines

Requirements for New Exchange: - Minimum $1B daily trading volume - Reliable API with WebSocket support - English documentation available - No significant legal issues

Code Quality Standards: - Follow existing adapter patterns - Comprehensive error handling - Performance optimization - Full test coverage

Troubleshooting

Common Exchange Issues

Connection Problems: - API key permissions - Network connectivity - Rate limit exceeded - Server maintenance

Data Quality Issues: - Timestamp synchronization - Price feed delays - Missing market data - Order book inconsistencies

Monitoring and Alerts

Health Checks: - Connection status monitoring - Data feed validation - Performance metrics - Error rate tracking

Alert Conditions: - Exchange disconnection - High error rates - Unusual latency - Data feed problems

Exchange Selection

For optimal arbitrage performance, enable at least 3 exchanges with good geographic distribution and high liquidity in your target trading pairs.

API Security

Never commit API keys to version control. Always use environment variables and restrict API permissions to only what's necessary for trading operations.


Last update: July 12, 2025
Created: July 12, 2025