Launching soon · custody-free crypto trading bots

Automate crypto trading
without giving up custody.

One dashboard for GRID, DCA, Buy-the-Dip, and combo bots across major exchanges. We hold your API keys, not your coins.

See how it works
Withdraw-disabled keys only Demo → live in one click 14-day trial · no card
LIVE · BINANCE · KRAKEN · BYBIT
PORTFOLIO · DEMO
$50,000.00
Virtual balance · paper trading
BOT STRATEGIES
4 kinds
SAME CODE
backtest = demo = live
one tick() function
GRIDDCABTDCOMBO
4 STRATEGIES · 1 tick()
Connect your accounts on
BinanceKrakenBybitCoinbaseSoonHTXSoonHyperLiquidSoon
3
Exchanges live today · 3 more coming soon
0
Funds ever held by GoodAI
4
Bot strategies · one shared tick() engine
Three principles

Built for traders who take risk seriously.

Most automation tools either hold your funds, lock you to one exchange, or ship a crude bot. GoodAI does none of that.

Custody-free, by enforcement.

We hold your API keys, not your coins. Keys with withdraw permission are rejected at connect time — we won't even store them. Envelope-encrypted with AWS KMS; only the execution gateway can decrypt.

Same code, three runtimes.

The bot you backtest is the bot you paper-trade is the bot trading live. One tick() function. No "but it worked in the backtester" surprises when you promote to live.

Audit-grade visibility.

Every key decryption, every order in the chain, every config change is captured in a tamper-evident audit log. Money-movement systems that can't reconstruct what happened don't deserve trust.

Strategies

Battle-tested bot types. Or compose your own.

Each strategy is a single tick function. Tune the parameters in the UI, backtest it on historical 1-minute candles, and promote to live when you like the curve.

  • GRID — buy/sell ladders across a price range. Profits from chop.
  • DCA — base order plus safety-order ladder. Reduces timing risk.
  • BTD — buy-the-dip, triggered by RSI / MA / custom signals.
  • COMBO — GRID running inside a DCA position. Capture chop while accumulating.
  • Futures — perp & dated, margin-aware position management. (in development)
BTC/USDT · GRID · BACKTESTillustrative
STRATEGY BTC BUY & HOLDequity curve · drawdown · Sharpe
One dashboard

Multiple exchanges. One symbol scheme. Zero tabs juggled.

Unified balances, positions, and order book. Your bots speak BTC/USDT — we translate to whatever each exchange wants under the hood.

  • Cross-exchange portfolio view with allocation, P&L, and drawdown.
  • TradingView charting, advanced order types (OCO, trailing, stop).
  • Backtester with equity curve, drawdown, Sharpe, and full trade history.
EXCHANGE COVERAGE3 LIVE · 3 SOON
BinanceLive
KrakenLive
BybitLive
CoinbaseSoon
HTXSoon
HyperLiquidSoon
Connect keys with withdraw permission OFF — it's enforced at connect time.
AI Assistant · powered by Claude

A second pair of eyes.
That can't pull the trigger.

Coming soon

The Assistant will read your portfolio, recent trades, and current market. It can analyze, propose configs, and explain — but it will never be able to place orders, create bots, or change settings.

  • Conversational analysis of any running bot.
  • Proposes config diffs you review and apply manually.
  • Read-only, by design. Safety boundary, not a sales tactic.
Which bot is bleeding the most?
Your ETH grid is the worst performer this week. Its range is set tight against a trending market, so it keeps selling into strength.

Want a wider-range proposal?
Yes, propose a safer config.
ETH/USDT · GRID · safer config
• range 2,200–2,800 → 1,900–3,200
• grids 20 → 14
• per-grid size $200 → $150
• daily loss cap $400 → $250
PROPOSAL — must be applied manually
Inside a bot

Real code. Same in backtest, demo, and live.

Your bot is a config. Behind it, a tick function with hard-enforced risk limits the strategy can't override.

# bots/grid.py — same code path runs in 3 runtimes
def tick(state, market):
    px = market.last("BTC/USDT")
    grids = state.config["grids"] # 20
    lo, hi = state.config["range"] # 95_000, 118_000

    for level in compute_levels(lo, hi, grids):
        if px < level and not state.has_buy(level):
            state.place("BUY", level, size=200)
        elif px > level and not state.has_sell(level):
            state.place("SELL", level, size=200)

    # Risk envelope is enforced in the gateway — strategy can't override
    # stop_loss_pct, daily_loss_cap_usd, max_position_usd
Pricing

Subscription, not a take-rate.

We don't take a cut of your profits or your trades. Pay monthly, switch tiers anytime. Every paid plan starts with a 14-day full-Pro trial.

Free
$0/ mo

Try every bot type against the live market with virtual balances.

  • 3 demo bots · paper only
  • 1 exchange (read-only key)
  • 7-day backtest window
Basic
$29/ mo

Go live with a focused setup.

  • 3 live bots · 10 demo bots
  • Up to 3 exchanges
  • 30-day backtest window
  • 1-year audit retention
Pro
$149/ mo

The full toolkit across every exchange we support.

  • 30 live bots · 100 demo bots
  • Unlimited exchanges
  • AI Assistant (Claude) · coming soon
  • 365-day backtest window
  • 5-year audit retention

Pricing shown is indicative and may change before public launch.

Ready when you are

Custody-free crypto trading bots, launching soon.

Connect any exchange with a read-only or trading key, pick a strategy, and watch it tick in demo mode. Promote to live when you trust the curve.

Get in touch
Public launch coming soon · MFA & hardware-key support · no custody of funds