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.

BTC- - - -·ETH- - - -·BNB- - - -·APT- - - -·ADA- - - -·XLM- - - -·NEAR- - - -·

Watch one mission run.

A mission binds one agent thread to one market. This is the cockpit itself, replaying a testnet BTC run from trigger to target: the log fills, the entry checks pass, the stop rests on the exchange, and the position closes at the target.

T3 Tradehyperliquid testnet
BTC · USD75,810.475,831.7775,853.1475,874.5175,895.8875,917.2575,938.6275,959.9975,981.3676,002.7376,024.175,981.4375,938.7575,896.0875,853.475,810.7375,768.0575,725.3875,682.775,759.8675,837.0375,914.1975,991.3676,068.5276,145.6976,222.8576,300.0176,377.1876,454.3476,531.5176,608.6776,685.8476,763+0.73%+0.76%+0.79%+0.82%+0.85%+0.87%+0.90%+0.93%+0.96%+0.99%+1.02%+0.96%+0.90%+0.85%+0.79%+0.73%+0.68%+0.62%+0.56%+0.67%+0.77%+0.87%+0.97%+1.08%+1.18%+1.28%+1.38%+1.49%+1.59%+1.69%+1.79%+1.90%+2.00%5m
stop-$18.73target+$51.062.7:1 planned. Both sides are fixed before the order is signed, so neither one moves later.
PositionsUnrealised+0.00%+0.56%+1.11%+1.67%+2.22%+2.78%+3.34%+3.89%+4.45%+5.00%+5.56%+4.45%+3.34%+2.23%+1.12%+0.01%-1.10%-2.21%-3.32%-1.31%+0.69%+2.70%+4.71%+6.72%+8.72%+10.73%+12.74%+14.75%+16.76%+18.76%+20.77%+22.78%+24.79%+$0.00+$1.15+$2.29+$3.44+$4.58+$5.73+$6.87+$8.02+$9.16+$10.31+$11.45+$9.17+$6.88+$4.59+$2.30+$0.02-$2.27-$4.56-$6.84-$2.71+$1.43+$5.56+$9.70+$13.84+$17.97+$22.11+$26.24+$30.38+$34.52+$38.65+$42.79+$46.92+$51.06

Mission outcome: opened a long of 0.0536 BTC at 20x on BTC, entry 75,810.4, stop 75,460.9, target 76,763. Position closed at the target for a profit of +$51.06, return +24.79% on margin. The reduce-only stop order completed without filling.

Agent log+0.00%+0.56%+1.11%+1.67%+2.22%+2.78%+3.34%+3.89%+4.45%+5.00%+5.56%+4.45%+3.34%+2.23%+1.12%+0.01%-1.10%-2.21%-3.32%-1.31%+0.69%+2.70%+4.71%+6.72%+8.72%+10.73%+12.74%+14.75%+16.76%+18.76%+20.77%+22.78%+24.79%+$0.00+$1.15+$2.29+$3.44+$4.58+$5.73+$6.87+$8.02+$9.16+$10.31+$11.45+$9.17+$6.88+$4.59+$2.30+$0.02-$2.27-$4.56-$6.84-$2.71+$1.43+$5.56+$9.70+$13.84+$17.97+$22.11+$26.24+$30.38+$34.52+$38.65+$42.79+$46.92+$51.06

Progress rule: the run reached 100 percent of the target and closed there.

Looked at the market · overnight range intact, 75,460 defended75,593.501:44 PM
Woke on a level · giveback alert from the last session$0.7501:45 PM
Watch retired · giveback alert · replaced$0.7501:46 PM
Journal note · flat overnight, costs re-checked-01:47 PM
Looked at the market · 15m compression under the range high75,650.301:49 PM
Watch armed · 1m close above the session high75,715.301:51 PM
Watch fired · thread woken with fresh data75,707.201:53 PM
Stood aside · the pop failed the pullback gate-01:53 PM
Journal note · ATR gate tightened one notch1.9×01:56 PM
Looked at the market · volume drying up into the range mid75,670.701:58 PM
Watch armed · mark crosses above the range high75,723.502:00 PM
Watch retired · 1m close watch · cancelled75,715.302:01 PM
Looked at the market · 1m closes pinning the range floor75,682.802:01 PM
Journal note · taker only on the break, no chasing0.045%02:02 PM
Looked at the market · funding flat, no carry either way0.0013%02:02 PM
Mission created · long only, 20x ceiling$50 budget02:02 PM
Plan published: long the range break→ 76,76302:03 PM
Journal note · risk capped at $50, budget untouched$5002:03 PM
Looked at the market · 1m closes pinning the range floor75,682.802:03 PM
Stood aside · first push into the range failed the pullback gate-02:03 PM
Watch armed · 15m close above the range high75,715.302:03 PM
Watch armed · mark crosses above75,778.702:04 PM
Woke on a level · range high tagged, no entry yet75,723.502:11 PM
Looked at the market · break gone quiet, wait for the 15m close75,703.102:18 PM
Journal note · ATR gate tightened one notch1.9×02:24 PM
Watch fired · thread woken with fresh data75,784.403:41 PM
Stop moved · reduce-only bracket tightened to the entry75,460.903:41 PM
Preview passed · order signed locally14/1403:41 PM
Watch armed · drawdown alert below the risk line75,460.903:41 PM
Bought to open 0.0536 BTC75,810.403:41 PM
Reduce-only stop resting on-exchange75,460.903:42 PM
Watch armed · 5m close above the trigger confirms75,778.703:44 PM
Woke on a level · confirmation close printed75,833.104:02 PM
Follow-up received · take-profit confirmed at the target76,76304:20 PM
Journal note · hold through the retest, stop untouched-04:31 PM
Drawdown held · stop untouched, nothing sold-$6.8404:58 PM
Watch retired · drawdown alert · cancelled75,460.905:10 PM
Looked at the market · extension stretched, target next76,76305:20 PM
Sold to close 0.0536 BTC at 76,763+$51.0605:24 PM

Status bar at the end of the mission: mission complete. Target76,763 reached by 5:24 PM. Funding 0.0013%/8h. Positions held on Hyperliquid.

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 fourteen checks.

Before signing a position-increasing order, T3 Trade re-checks the mission, its authority, the agent lease, direction, signer approval, data freshness, size and 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_order01234567891011121314/ 14
  • 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 fourteen 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 auth logintrading missions
codex logintrading missions
opencode auth logintrading missions
agent logincoding threads
grok logincoding threads

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.

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.

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

Not a mockup. The panel itself.

A screenshot of T3 Trade running: the mission panel mid-trade, with the entry, the stop, the target and the agent's own log.

Dark-mode crypto trading dashboard for ETH/USD at 1,869.4 (+1.84%), showing a 1m price chart with target and stop levels, an automated agent log of trade executions, and active 5x leveraged long positions.
The real mission panel, captured at 2x from the running app in dark mode, desktop and mobile widths. The mission shown is a fixed example.

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 its patch ledger.

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/TaraxioT/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 the releases page.