Skip to content

aipinn/dcex_server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crypto Proxy API

A CCXT-based cryptocurrency exchange aggregation API, built with FastAPI and CCXT.

This project acts as a proxy API layer between frontend applications and multiple cryptocurrency exchanges, providing a unified and consistent API for market data access.

Status: Work in progress. This project is under active development and not feature-complete yet.


Overview

Backend Framework: FastAPI
Exchange SDK: CCXT
API Type: REST (WebSocket supported)
Python Version: 3.9+

By abstracting exchange-specific APIs, clients can switch exchanges simply by changing the exchange parameter.


About CCXT

This project is built on top of CCXT, a widely used cryptocurrency trading library.

CCXT GitHub: https://github.com/ccxt/ccxt

CCXT provides:

  • Unified exchange APIs
  • Built-in rate limiting
  • Normalized market data structures
  • Support for hundreds of centralized and decentralized exchanges

This service exposes CCXT capabilities through a clean HTTP and WebSocket API for frontend consumption.


Core Features

Unified Exchange API

  • Same request format for Binance, OKX, Bybit, etc.
  • Switch exchanges using a single exchange query parameter

Automatic Rate Limiting

  • Handled internally by CCXT
  • Prevents exchange-side throttling and bans

Extensible Architecture Planned and supported features:

  • Market tickers
  • OHLC / K-line data
  • Order book depth
  • Trade history
  • Batch endpoints
  • WebSocket streaming

Auto-generated API Documentation

  • Swagger UI powered by FastAPI
  • Interactive API testing in browser

Quick Start

Create a virtual environment: python3 -m venv venv

Activate virtual environment: source venv/bin/activate

Install dependencies: pip install -r requirements.txt

Activate virtual environment: source venv/bin/activate

Run development server: uvicorn main:app --reload

Open API documentation: http://127.0.0.1:8000/docs


WebSocket Support

Example WebSocket endpoint: ws://localhost:8000/api/ws/ticker?exchange=binance

The backend manages exchange connections and forwards normalized real-time data to connected clients.


Frontend Integration

This project is designed to work with a Flutter-based client.

Frontend repository: https://github.com/aipinn/dcex.git


Disclaimer

This project is for educational and research purposes only. It is not a trading platform and does not provide financial advice. Use at your own risk.


License

MIT License

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages