Free for paper · Live by invite

Algorithmic trading
infrastructure for Rust

Run battle-tested strategies out of the box, or build your own in Rust. Backtest on real tick data, sweep millions of parameter combos, monitor every fill from a live analytical dashboard.

Install in one line

One curl, no package manager, no setup. The script detects your OS and arch, pulls the matching signed binary, and drops tradectl on your PATH.

terminal
$ curl -fsSL https://tradectl.com/install.sh | sh
Linux x86_64 Linux aarch64 macOS Intel macOS Apple Silicon
terminal
$ |

Everything you need
to trade smarter

From backtesting to live deployment, shadow optimization, and AI-powered monitoring.

01

Live Trading

Run strategies 24/7 against Binance perpetual futures with the same engine our own production bots use. Survives flaky networks, partial fills, exchange quirks — nothing leaks, nothing leaves stranded positions.

  • Full order lifecycle — entry, TP, SL, trailing, race fills, partial fills, all reconciled on startup
  • Position protection — exits stay on the exchange through SIGTERM, panics, and rate-limit pauses
  • Session gating — per-symbol P&L windows adapt order sizing and pause entries after streaks
  • Seven exchanges, one trait — the same strategy code runs against Binance, Bybit, OKX, Hyperliquid, HTX, Gate, and Bitget through a unified MarketAdapter
  • Dynamic pair rotation — the pair selector ranks symbols by live volume and momentum and hot-swaps the watchlist without restarting the bot
02

Backtesting

Realistic fill simulation with slippage, maker/taker fees, partial fills, and SL delay. The in-memory exchange replays tick, trade, and kline streams through the exact runner that ships live, so backtest results match production behavior bit-for-bit. Zero-copy binary format loads months of tick data in microseconds.

03

Parameter Sweeps

Vectorized Structure-of-Arrays batch engine tests millions of parameter combinations on a single core — ~1000x throughput over sequential backtesting. Constraint filters prune dominated regions early, results rank by a composite score that blends PnL, trade frequency, and max drawdown, and the top runs export to CSV for promotion straight into live or shadow.

04

Shadow Trading

Paper-trade millions of parameter variants alongside your live strategy in real time — zero extra infrastructure, zero extra API calls. The market feed your live bot already consumes drives every shadow at once.

  • One CPU, millions of variants — SoA batch engine evaluates every parameter combo on each tick
  • Constraint filters — eliminate dominated regions before they ever execute
  • Idle-pruning — never-fired TP/SL variants collapse automatically to keep the search tight
  • Live leaderboard — Telegram /shadow + dashboard ranking against your live PnL
  • One-command promotion — swap an outperforming shadow into production without restarting
05

Telegram Bot

30+ commands cover everything: live positions, daily and monthly PnL breakdowns, per-coin attribution, session status, shadow rankings, pair rotation, and one-tap strategy stop / resume. Fills, TP/SL hits, and error pauses stream to your phone in real time, batched so you never get rate-limited.

06

AI Assistant

Ask your bot questions in plain English via Telegram. Get trade explanations, performance summaries, and risk assessments from an AI agent with live data access.

07

Lab Coming soon

Analyze backtests, paper trades, and live trades down to precise timestamps. Drill into individual fills, compare parameter runs, and inspect strategy behavior tick by tick.

Strategies, trading right now

Real metrics from live bots, streamed in real time straight from production.
Only bots whose operators explicitly opt in appear here — everything else stays on the trader's machine.

Leaderboard

Last 30d

Loading…

Live Trades

Last 30d

From idea to
live trading

Build your own strategy or pick one from the marketplace. Test it, optimize it, deploy it.

01

Build or Browse

Write your own strategy in Rust with the SDK, or pick one from the marketplace. Backtest against historical data before risking real capital.

02

Configure & Test

Set your parameters, run sweeps to find optimal settings, and shadow-test variants alongside live trading to validate performance.

03

Deploy & Monitor

Go live on Binance with one command. Track every trade via Telegram bot, real-time dashboard, or AI-powered explainer.

Code your own,
or install a vetted one

Devs write custom strategies in Rust with the type-safe SDK. Everyone else installs community strategies from the marketplace — the same ones the authors run live on their own capital, with public PnL curves, drawdown stats, and trade history you can audit before subscribing.

  • Marketplace — one-command install of proven community strategies, signed binaries, SHA256 verified
  • Public track records — live equity curve, win rate, drawdown, and trade-by-trade history before you commit
  • SDK — Strategy trait with 9 order actions, full TP/SL lifecycle, ABI-stable plugin interface
  • CLI — init, build, run, backtest, sweep, shadow, collect, install, marketplace
  • Shadow + Telegram + AI — live variant tuning, 30+ Telegram commands, and an AI agent that explains every trade
my_strategy.rs
 1  use tradectl_sdk::*;
 2
 3  declare_strategy!("dip_buyer", DipBuyer::new);
 4
 5  pub struct DipBuyer { tp: f64, sl: f64 }
 6
 7  impl DipBuyer {
 8    pub fn new(p: &Params) -> Self {
 9      Self {
10        tp: p.get("tp", 0.2),
11        sl: p.get("sl", 0.5),
12      }
13    }
14  }
15
16  impl Strategy for DipBuyer {
17    fn on_ticker(
18      &mut self,
19      t: &TickerEvent,
20      ctx: &StrategyContext,
21    ) -> Action {
22      if !ctx.positions.is_empty() {
23        return Action::Hold;
24      }
25      Action::PlaceEntry {
26        side: Side::Long,
27        price: Some(t.bid_price),
28        size: 100.0,
29        kind: OrderKind::Limit,
30        exits: vec![],
31        entry_id: None,
32      }
33    }
34
35    fn on_fill(
36      &mut self,
37      f: &FillEvent,
38      _: &StrategyContext,
39    ) -> FillResponse {
40      if !f.is_entry {
41        return FillResponse::default();
42      }
43      let tp = f.price * (1.0 + self.tp / 100.0);
44      let sl = f.price * (1.0 - self.sl / 100.0);
45      FillResponse::with_exits(vec![
46        ExitOrder::tp(tp),
47        ExitOrder::sl(sl),
48      ])
49    }
50
51    fn name(&self) -> &str { "dip_buyer" }
52  }|

Free for paper.
Live by invite.

Backtests, parameter sweeps, paper trading, shadow optimization, the dashboard, and Telegram bot are free for everyone. Live trading on real money is gated behind closed-alpha access while we harden the engine with a small group of traders.

Free

$0

Everything except live trading. No card, no signup gate.

  • CLI — init, build, run, backtest, sweep, shadow, collect
  • Backtesting on real tick data
  • Paper trading on live market feeds
  • Parameter sweeps & shadow optimization
  • Real-time monitor dashboard
  • Telegram bot (30+ commands)
  • AI assistant + MCP server for Claude Code
  • Market data collector
Install CLI

Supported Exchanges

Connect your exchange account. More integrations shipping continuously.

Binance
Live
By
Bybit
Soon
OK
OKX
Soon
HL
Hyperliquid
Soon
HT
HTX
Soon
Gt
Gate
Soon
Bg
Bitget
Soon

Start paper today.
Go live when you're ready.

Install the CLI, backtest your idea, paper-trade it on live feeds — all free. Request live access once you've proven your strategy.