1.1.0 • Published 7 months ago

arbitrage-api-cryptoscan v1.1.0

Weekly downloads
-
License
ISC
Repository
github
Last release
7 months ago

Arbitrage API - Cryptoscan

Real-time cryptocurrency arbitrage opportunity detection service that monitors price differences across exchanges and networks

Current Price: $600 Contacts: https://t.me/dan_cryptoscan

What you get:

  • Free setup into your hosting
  • Free help to integrate app to your server
  • Full access to the codebase and code updates
  • Free updates for app, you can request for free updates via access to issues
  • Full access to Project Time tracking by developers

Features

  • Real-time arbitrage opportunity detection
  • WebSocket-based price updates
  • Multi-exchange support
  • Network-aware transfers
  • Spread filtering capabilities
  • Support for both spot and futures markets

Architecture

The service consists of several key components:

Network Management (getNetwork.ts)

  • Maintains real-time network status across exchanges
  • WebSocket connection to network updates
  • Tracks deposit/withdrawal status and fees

Arbitrage Detection

Two implementations available:

  • Modern implementation (getArbitrageNew.ts) using BigNumber for precise calculations
  • Classic implementation (getArbitrage.ts) with simpler order matching

WebSocket Server (websocket-server.ts)

  • Provides real-time updates to clients
  • Supports spread-based filtering
  • Built using Hono framework

Installation

# Install dependencies
npm install

# Start the service
npm start

Environment Variables

Create a .env file with required configuration:

# Add any required environment variables here

WebSocket API

Connecting

Connect to the WebSocket server:

const ws = new WebSocket('ws://localhost:3000');

Message Format

Received messages follow this structure:

interface ArbitrageMessage {
  exchangeFrom: string;
  exchangeTo: string;
  symbol: string;
  network: string;
  spread: number;
  buyPrice: number;
  sellPrice: number;
  totalAmount: number;
  totalBuyUSD: number;
  totalSellUSD: number;
  format: "hedge" | "transfer" | "delayed";
  withdrawFee: number;
  depositFee: number;
  isWithdrawEnabled: number;
  isDepositEnabled: number;
}

Development

The project uses:

  • TypeScript
  • Bun runtime
  • BigNumber.js for precise calculations
  • Hono for WebSocket server
  • Semantic Release for versioning

License

ISC

Arbitrage API

Real-time cryptocurrency arbitrage opportunity detection service that monitors price differences across exchanges and networks.

Features

  • Real-time arbitrage opportunity detection across multiple exchanges
  • WebSocket-based price updates with automatic reconnection
  • Multi-exchange and multi-network support
  • Network-aware transfer cost calculations
  • Configurable spread filtering (1-999%)
  • Support for spot and futures markets
  • Automatic deposit/withdrawal status tracking

Architecture

The service consists of several key components:

Network Management (getNetwork.ts)

  • Maintains real-time network status across exchanges
  • WebSocket connection with automatic reconnection
  • Tracks deposit/withdrawal status and fees
  • Caches network information for quick access

Arbitrage Detection

Two implementations available:

  • Modern implementation (getArbitrageNew.ts)
    • Uses BigNumber.js for precise calculations
    • Supports partial order matching
    • Real-time spread calculation
    • Handles multiple price levels
  • Classic implementation (getArbitrage.ts)
    • Simple order book matching
    • Fee-aware calculations
    • Historical reference implementation

WebSocket Server

  • Built using Hono framework
  • Provides real-time updates to clients
  • Supports spread-based filtering
  • Automatic client management

Installation

# Install dependencies
npm install

# Start the service
bun start

Configuration

The service supports configuration via environment variables:

# Required environment variables
PORT=3000                    # Server port (default: 3000)
MIN_SPREAD=1                 # Minimum spread percentage
MAX_SPREAD=999              # Maximum spread percentage

WebSocket API

Connecting

const ws = new WebSocket('ws://localhost:3000');

Message Format

Received messages follow this structure:

interface ArbitrageMessage {
  exchangeFrom: string;      // Source exchange
  exchangeTo: string;        // Target exchange
  symbol: string;           // Trading pair (e.g., "BTCUSDT")
  network: string;          // Transfer network ID
  spread: number;           // Profit percentage
  buyPrice: number;         // Entry price
  sellPrice: number;        // Exit price
  totalAmount: number;      // Trade volume
  totalBuyUSD: number;      // Required USD for entry
  totalSellUSD: number;     // Expected USD from exit
  format: "hedge" | "transfer" | "delayed";  // Trading strategy
  withdrawFee: number;      // Withdrawal fee
  depositFee: number;       // Deposit fee
  isWithdrawEnabled: number; // Withdrawal status
  isDepositEnabled: number;  // Deposit status
}

Development

Built with:

  • TypeScript for type safety
  • Bun runtime for performance
  • BigNumber.js for precise calculations
  • Hono for WebSocket server
  • Semantic Release for versioning

License

ISC