Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (arbitrage-api-cryptoscan) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Arbitrage API - Cryptoscan
Real-time cryptocurrency arbitrage opportunity detection service that monitors price differences across exchanges and networks
Current Price: $600
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