Full-stack Engineer (Crypto Trading Terminal MVP, Bitget/Bybit) – Fixed-price/milestone project
Upwork

Remoto
•2 dias atrás
•Nenhuma candidatura
Sobre
I am building a crypto trading execution terminal inspired by Insilico Terminal. Reference: https://docs.insilicoterminal.com/documentation Before you apply you MUST read that reference. Insilico Terminal is a fast, pro-grade trading interface with multi-exchange support, advanced orders like TWAP and Chase, live market data, custom layouts, and a high-speed pipeline. It also split its order panel into Market analytics and Place Order, with quick size buttons, Reduce-only, TP/SL, leverage control. We are NOT cloning everything. We are building a simpler MVP with fewer features and a server-hosted architecture (no desktop client). What we want in this MVP * A browser-based trading terminal served from my server. No Electron. No Tauri. * You will build the backend service and the web frontend. * User can add exchange API keys (ONLY Bybit and Bitget in v1). * User can view in real time order book depth (L2), recent trades, price chart (TradingView), balances, open orders, open positions, unrealized PnL. * User can send/cancel orders (market, limit, reduce-only, post-only, time in force where supported). * User can close an open position with one click. * User can run two execution helpers on the server side: TWAP and Chase. TWAP (Time Weighted Average Price) is described in Insilico docs as splitting a large order into many smaller child orders over time, with optional jitter, irregular lot sizing, and price bounds. It is cancelable mid run. Implement a reliable slice scheduler and safe stop. Chase continuously re-prices a working limit order to stay near best bid/ask until filled or a max distance is hit. A Stalk Mode variant trails the quote by % or ticks. Only basic Chase for MVP. For MVP we want * Basic TWAP: total size, duration, slice interval, max slippage/price bounds, cancel mid run. * Basic Chase: follow best bid/ask up to a max distance until filled or canceled. * Stalk Mode and other variants are NOT required for MVP. Key constraints: * Backend runs on my server and talks directly to Bybit and Bitget via REST and WebSocket. You will implement auth signing, reconnects/backoff, order placement/cancel, account fetch, and clean resync after drops. * Frontend is a React + TypeScript interface that shows real time market data without freezing. * Chart must be a TradingView style chart that can overlay position entries and active orders, similar to Insilico overlays that let you work from the chart. * All API keys must be stored encrypted at rest in the server DB. You will not log secrets in plain text. You will not transmit API keys anywhere except directly to the target exchange. Use trade-only keys (no withdrawals). Out of scope: * CLI and command chaining. Insilico has a full command line (chaining, repeat loops, aliases, bump, TP/SL, panel control). We are NOT doing any CLI or scripting in this contract. * Basket or "Complex Orders" across multiple symbols or multiple accounts. Insilico added multi-account and basket trading and later synced API keys across devices. We will NOT build baskets, multi-account, synced keys, or hotkey multi-layout modes in MVP. * Smart Hedging, Reverse Position automation, Stalk Mode variants of Chase, Swarm orders, Scale orders, etc. These exist in docs and are excluded now. * No mobile app, no desktop installer, no tax/PnL reports, no compliance exports, no liquidation feed aggregation, no social layer. * Only two exchanges: Bybit and Bitget. Nothing else in v1. Goal: not a UI toy. The goal is a working trading terminal with: 1. Secure key storage and account sync on the server. 2. Real market data. 3. Real order submission and cancel. 4. TWAP and Chase engines running server side, similar in spirit to Insilico’s execution panel and Orders component (where multiple strategies can run and be monitored). Technical expectations: * Backend preferred: Go or Rust. Node.js only if you prove serious experience with high-frequency WS, reconnects, back-pressure, and rate limits. * Frontend: React + TypeScript. State management: Zustand, Redux Toolkit, TanStack Query, or equivalent. * Chart: TradingView style charting library. Overlay active orders/positions. * Delivery: Docker or Docker Compose setup to deploy backend + frontend + DB on my server. * Code must be clean and documented so another dev can extend after handoff. What I expect in your proposal: 1. Show one real project integrating a crypto exchange API over REST and WebSocket (Bybit, Bitget, Binance, etc). Show proof you handled auth signing, streaming, and order placement. 2. Tell me which stack you will use (Go + React, Rust + React, etc). 3. Give me a fixed-price number for each milestone listed below. Hourly only is not acceptable. 4. Provide a delivery timeline. This is build-and-ship, not endless research. One engineer only. No agencies. If you cannot read the Insilico docs at https://docs.insilicoterminal.com/documentation and explain how you would ship Milestone 1, please do not apply.




