Case study · 15 of 27

CCXT market-making platform: the web dashboard and account layer behind a trading bot

ProfitMaker, the CCXT-based trading engine on this record, needed a front door: a place where customers sign up, verify identity, connect exchange accounts, subscribe, watch balances and orders, and withdraw. This project is that…

Role: Technical lead and architect; built by a developer on my team under my direction and reviewStack: Node and Express API, MongoDB, the CCXT exchange library, web3 for on-chain wallet operations, AWS S3 for document storage, JWT auth with two-factor on withdrawals, Brevo email, WebSockets, and a React clientScope: Accounts and KYC, exchange connectivity and order placement, subscriptions and billing, affiliates and commissions, transactions and withdrawals, support
CCXT market-making platform: the web dashboard and account layer behind a trading bot, live site
Marketing site from the repository's built clientOpen full-page capture ↗

Context

ProfitMaker, the CCXT-based trading engine on this record, needed a front door: a place where customers sign up, verify identity, connect exchange accounts, subscribe, watch balances and orders, and withdraw. This project is that layer. I designed the service boundaries and the money-handling rules and had the build executed by a developer on my team.

What was built

Exchange connectivity through CCXT

Endpoints to load markets, fetch balances across connected exchanges, read the order book, list orders, place market and limit orders on both sides, and cancel orders. CCXT abstracts the exchange APIs so the same routes work across venues.

Accounts, KYC and security

Registration, login, password change, profile updates and status changes for operators. KYC documents are uploaded through Multer and stored in S3. Withdrawal requests require a second factor before they are created, and a success-fee calculation runs before funds move.

Subscriptions, billing and affiliates

Personal and business billing paths, subscription creation and verification, and an affiliate programme with tracked commissions and payout history, so growth has a mechanism and every commission is auditable.

On-chain wallets

Web3 is used to generate deposit wallets per subscription and to read transaction counts and blocks when confirming on-chain deposits. Wallet balances and transaction lists are exposed to the customer's dashboard.

Support and history

Support tickets, a transaction history per account, and email notifications through Brevo. WebSockets carry live updates to the React client.

Decisions worth noting

Why it is in the portfolio

It rounds out the FinTech line on the resume: ProfitMaker is the engine, this is the platform around it. It is presented as a team delivery I led, which is what it was.

Next step

Have a system like this to build, rescue or scale?

I run technology for several companies at the same time and take on a small number of fractional engagements. The first step is always a scoped audit.