Multi-asset execution. Institutional-grade risk.
FX, metals, commodities, indices, stocks, and crypto — with real-time margin checking, automatic stopout, and OHLC charting.
Multi-asset execution
Market, limit, stop, and stop-limit orders with ACID margin checking on every trade. Full SL/TP support. Partial close with proportional fee splitting.
- 6 asset classes: forex, metals, commodities, indices, stocks, crypto
- Per-group spreads, commissions, and swap rates
- Pending orders with GTC — margin checked at execution time
- Partial close creates linked history records with proportional splits
POST /api/customer/orders
// Request
{"login": 10007, "symbol": "EURUSD", "cmd": 0, "volume": 0.1}
// 202 Accepted
{"request_id": "uuid", "status": "queued"}
// Poll GET /api/customer/orders/request/{request_id}
{"request_id": "uuid", "status": "executed", "order": 100001}Risk engine
Live P&L, equity, and margin per account via WebSocket. Automatic stopout when margin thresholds are breached. Every force-close permanently logged.
- Toxic flow detection with nightly risk classification
- Per-group exposure limits — gross and net modes
- Risk profiles per customer with configurable thresholds
- Stopout events logged with full position details and margin levels
GET /api/crm/accounts/{login}/state
{
"login": "10007",
"equity": 10250.50,
"pnl": 250.50,
"free_margin": 9750.50,
"margin_level": 1025.05,
"margin_used": 500.00,
"max_withdrawable": 9750.50,
"gross_exposure": 10854.20,
"net_exposure": 5427.10,
"currency": "USD",
"stale": false,
"age_s": 0.2
}Groups & instruments
Three-layer configuration: master catalog → broker instruments → group overrides. Leverage, margin rates, spread, commission, swap, and Islamic swap-free — all per group.
- Asset class grouping for frontend tabs
- Broker-level enable/disable and tradeability (close_only)
- Per-group swap config with multiplier and grace period
- Islamic mode forces swap-free automatically
GET /api/customer/instruments (grouped)
[{
"symbol": "EURUSD",
"display_name": "Euro / US Dollar",
"category": "forex",
"asset_class": "forex_majors",
"digits": 5,
"pip_size": 0.0001,
"contract_size": 100000,
"min_lot": 0.01,
"max_lot": 100.0,
"spread": 0.2,
"margin_rate": 0.01,
"last_bid": 1.08542,
"last_ask": 1.08556
}]Price feeds
Multi-provider architecture with automatic failover. Primary → secondary switch with zero downtime. Per-instrument staleness thresholds with outage detection and logging.
- TwelveData for FX, commodities, and stocks
- Binance for crypto markets
- Platform feed for white-label pricing
- 30-second health monitoring with per-symbol staleness
GET /api/prices/health
{
"status": "ok",
"symbols": {
"EURUSD": {"age_ms": 312, "stale": false, "threshold_ms": 10000},
"BTCUSDT": {"age_ms": 1491, "stale": false, "threshold_ms": 5000},
"XAUUSD": {"age_ms": 31591, "stale": true, "threshold_ms": 10000}
},
"summary": {"total": 3, "stale": 1, "healthy": 2}
}OHLC charting
M1, M5, M15, H1, H4, and D1 bars built from raw ticks. TradingView Charting Library-ready endpoint. Mid-price bars (industry standard).
GET /api/prices/history?symbol=EURUSD&timeframe=H1&limit=500
{
"symbol": "EURUSD",
"timeframe": "H1",
"bars": [
{"time": 1711234567, "open": 1.085, "high": 1.086,
"low": 1.084, "close": 1.0855, "volume": 147}
],
"count": 500
}Financial ledger
Append-only TimescaleDB audit trail. Every deposit, withdrawal, trade P&L, commission, swap, chargeback, and correction — with DB-computed running balance totals.
- 13 event types: deposit, withdrawal, trade_pnl, commission, swap, chargeback, and more
- Idempotency keys prevent duplicate entries
- Sequence numbers for gap detection
- Balance, credit, and margin deltas with running totals per event
GET /api/backoffice/accounts/{login}/ledger
[{
"event_type": "deposit",
"balance_delta": 500.00,
"credit_delta": 0.00,
"margin_delta": 0.00,
"balance_after": 10500.00,
"credit_after": 0.00,
"margin_after": 500.00,
"sequence_num": 42,
"idempotency_key": "deposit:tx-uuid",
"created_at": "2026-03-24T10:00:00Z"
}]