Open source · alpha · Hyperliquid testnet

The trading interface
for coding agents.

Give an agent a mandate in plain English. T3 Trade holds it to hard limits and signs every order locally.

T3 Trade showing an ETH mission: the agent's reasoning, its fills, an open position with entry, stop and target, and three armed market watches
One ETH mission in the desktop app: the agent's reasoning, its fills, the open position with its stop and target, and the watches that will wake it.
BTC- - - -·ETH- - - -·SOL- - - -·HYPE- - - -·AVAX- - - -·LINK- - - -·ARB- - - -·DOGE- - - -·

Live mid prices from Hyperliquid testnet, the only network this alpha talks to. Testnet funds have no real-world value and there is no mainnet configuration.

Watch one mission run.

A mission binds one agent thread to one market. Scroll to step through the ETH run from the screenshot above: the wait, the watch that woke the agent, the checks, the stop that had to exist before the fill, and the position it left behind.

188018901900target 1,907watch · mark crosses 1,882.76entry 1,883.54stop 1,874.94 · risks -$18.72pays +$51.06 at this sizewake @ 1,879.21-$6.83stop holds+$51.06
stop-$18.72target+$51.062.7:1 planned. Both sides are fixed before the order is signed, so neither one moves later.
ETH20xLong+$0.00+$1.14+$2.29+$3.43+$4.58+$5.72+$6.87+$8.01+$9.16+$10.30+$11.45+$9.16+$6.88+$4.59+$2.31+$0.02-$2.26-$4.55-$6.83-$2.70+$1.44+$5.57+$9.71+$13.84+$17.98+$22.11+$26.25+$30.39+$34.52+$38.66+$42.79+$46.93+$51.06
0%2%4%7%9%11%13%16%18%20%22%18%13%9%5%0%0%0%0%0%3%11%19%27%35%43%51%60%68%76%84%92%100%to target
Size
2.1766
Entry
1,883.54
Mark
1,883.541,884.071,884.591,885.121,885.641,886.171,886.71,887.221,887.751,888.271,888.81,887.751,886.71,885.651,884.61,883.551,882.51,881.451,880.41,882.31,884.21,886.11,8881,889.91,891.81,893.71,895.61,897.51,899.41,901.31,903.21,905.11,907
Stop
1,874.94
Liq
1,471.34
Margin
$206
Armed watches
ETH mark crosses above 1,882.76waitingmet
ETH 15m candle closes below 1,879.21waiting
ETH unrealised PnL reaches +$51.06waitingmet
Target hit at 1,907+$51.06 on the planStop never touched2.7:1 as planned
  1. MandateTrade ETH. Long only, 20x ceiling, capped loss in USD.
  2. WaitingPrice coils inside the range. The agent takes no entry.
  3. Watch armedSleep until the ETH mark crosses 1,882.76.
  4. Watch firesThe thread wakes with fresh account, book, and budget data.
  5. 17 checksEvery check passes, so T3 Trade signs the order locally.
  6. ProtectedA reduce-only stop rests at 1,874.94 before the fill counts.
  7. RunningFilled at 1,883.54. The mark reaches 1,888.8, +$11.45 open.
  8. DrawdownPrice falls to 1,880.4, -$6.83. The stop holds and nothing is sold.
  9. Target1,907 prints. The plan closes the position at +$51.06.

The exchange is the source of truth

Positions, orders, and fills are re-read from Hyperliquid after every submission, fill, reconnect, and restart. Local records never override it.

Risk is counted before entry

Realised loss, paid fees, protected open risk, and pending-entry risk all draw down the same budget. Exhaust it and new exposure is blocked while stops stay in place.

The stop is not advisory

It rests on Hyperliquid as a reduce-only order, and its size is reconciled against the position the exchange reports. It survives the app closing.

Every entry passes the same seventeen checks.

Before signing a position-increasing order, T3 Trade re-checks mission status, authority, agent lease, direction, signer approval, data freshness, size, price, exchange minimums, leverage, notional, per-position risk, the loss budget, pending conflicts, and the stop. One failure rejects the order.

  • Every position increase carries a stop. T3 Trade submits an exchange-native reduce-only stop, then reconciles its size against the position Hyperliquid reports.
  • A retry is the same order. The client order ID and local request key are deterministic, so a resubmission cannot open a second position.
  • You keep the controls. Pause, cancel entries, reduce, close, and revoke all work with the agent CLI stopped.
trading_preview_order01234567891011121314151617/ 17
  • mission active, entries allowedauthority current
  • market, side, and leverage allowedwithin mandate
  • account and order book freshlive exchange data
  • size, price, and minimum validexchange rules
  • position and mission risk availableusd loss budget
  • reduce-only stop attachedrequired
signed locallyall seventeen passed
Operator controlsPauseCancel entriesReduce 50%CloseRevoke

Bring your own agent CLI.

T3 Trade drives five CLIs already installed and authenticated on your machine. Three of them can run trading missions today. None of them ever receives the signer key.

Claude Code
claude auth logintrading missions
Codex CLI
codex logintrading missions
OpenCode
opencode auth logintrading missions
Cursor
agent logincoding threads
Grok CLI
grok logincoding threads
No valid signer keyExecution is disabled. Every action that needs a signature is rejected.
Valid key loadedExecution is enabled for the Hyperliquid testnet account derived from that key.

Execution needs one local testnet key.

This alpha has no wallet onboarding. Put a single 32-byte EVM private key for a Hyperliquid testnet account in ~/.t3trade/secrets. T3 Trade derives the address, holds the raw key in server memory, and signs orders locally with it. The key is never written to logs, reports, or the database. Use a testnet-only key.

What ships in this alpha.

Today
  • Trading missions on Claude Code, Codex, and OpenCode
  • Hyperliquid testnet orders under fixed authority and a USD loss limit
  • Required reduce-only stops, exchange reconciliation, retry-safe submission
  • An Apple Silicon macOS app and a self-hosted web app run from source
Not today
  • No mainnet support of any kind
  • No packaged Windows, Linux, or Intel Mac builds
  • No wallet onboarding, only the local testnet key
  • No mobile app and no unattended trading with real funds

Open source

Built on T3 Code. Open all the way down.

T3 Trade is an MIT-licensed fork of T3 Code, Ping Labs' open-source interface for coding agents. It keeps the upstream agent and repository workflows, adds trading in dedicated packages, and records every intentional fork change in PATCH_LEDGER.md.

Run T3 Trade on testnet.

Install a supported agent CLI, add a testnet-only signer key, pick a perp, and type your mandate.

or install it in one line

curl -fsSL https://raw.githubusercontent.com/0xgeorgemathew/t3trade/main/scripts/install-macos.sh | bash

The macOS build is Apple Silicon only and is not notarized, so a downloaded copy is quarantined and macOS may refuse to open it. The installer above fetches the same DMG and clears that flag. To do it by hand, drag the app to Applications and run:

xattr -dr com.apple.quarantine "/Applications/T3 Trade (Alpha).app"

Older builds and checksums are on thereleases page.