The trade-worker is the execution engine of the Hoox trading platform. Deployed as a private compute isolate behind the edge firewall, this worker is responsible for calculating order parameters, executing leverage scaling, performing cryptographic HMAC-SHA256 signature calculations, placing trades on Bybit, Binance, and MEXC, and offloading transactional metrics.
⚡ 1. Declared Wrangler Configurations & Bindings
The trade-worker does not expose a public URL, communicating internally via V8 Service Bindings. Its wrangler.jsonc maps out its critical storage, queue, and database hooks:
🔀 2. The Provider-Based ExchangeRouter Pattern
To support multiple centralized exchanges with different API schemas while maintaining a clean code structure, trade-worker implements a Provider Composition Pattern:
A. Generic Exchange Provider Interface
The client abstraction is defined inside the shared monorepo package @jango-blockchained/hoox-shared/types:
B. Dynamic Runtime Routing
The ExchangeRouter evaluates the incoming symbol and parses settings in CONFIG_KV in sub-milliseconds:
- Default Path: Routes trades to the default CEX declared in
exchanges:default_routing (typically bybit).
- Dynamic Symbol Redirects: Parses overrides in KV (e.g.
exchanges:routing:SOLUSDT = binance). If present, the router bypasses Bybit and instantiates the BinanceProvider instantly without redeploying code.
🔌 3. Internal REST API Specification
Note: For the canonical endpoint directory with full request/response examples across all workers, see /docs/devops/api/endpoints.
A. Process Order Pipeline
Invoked by the hoox gateway or the TRADE_QUEUE consumer batch runner.
- Endpoint:
/process
- Method:
POST
- Headers:
X-Internal-Auth-Key: <INTERNAL_KEY_BINDING>
- JSON Payload:
- Success Response (200 OK):
🛡️ 4. Standardized Exception Handling
All execution rejects and validation failures are intercepted by the trade-worker error middleware and formatted using the shared Errors factory from @jango-blockchained/hoox-shared/errors:
If the exchange API rejects an order due to account rate-limiting, the queue
consumer automatically returns a retry flag. Cloudflare Queues will back off
and re-route the batch at intervals starting at 30 seconds, protecting your
strategy from missed fills.
🔗 Next Steps