Crypto Broker Back Office
Back office API platform for a cryptocurrency trading broker. Manages trade execution, account portfolios, real-time position updates via Kafka, commission structures, and multi-format financial reporting.
About this project
Project Overview
A production-grade back office system powering a cryptocurrency brokerage platform. It handles account provisioning, balance and position tracking, trade settlement, commission management, and compliance audit logging. The service processes real-time market events through Apache Kafka and exposes a fully documented REST API consumed by the trading front-end.
Key Features
- Account management with portfolio tracking, P&L calculations, and position history
- Real-time trade and order processing via Kafka consumers
- Commission designer — configurable commission structures with dynamic calculations
- Async report generation (CSV, Excel, PDF) uploaded to MinIO/S3
- Celery workers with beat scheduler for background tasks and periodic jobs
- Audit trail and compliance logging for all account operations
- Auto-generated Swagger/OpenAPI documentation
- Prometheus metrics endpoint and Jaeger distributed tracing
- Health check monitoring across all service dependencies
- Internal transfer and approval workflows between accounts
Architecture
Multi-service architecture orchestrated with Docker Compose: Django API (Gunicorn), dedicated Kafka consumer service, Celery workers, PostgreSQL, Redis for caching and task brokering, and MinIO for file storage. Integrates with an external liquidity provider service for market data. Deployed across dev, QA, and production environments with separate configuration per stage.