One tool registry
The TradingToolRegistry provisions the same tool surface to every bound harness. There is no provider-specific tool set and no provider-specific exchange client.
14 · Agent tool surface
Codex, Claude, and OpenCode all receive the same tool contracts through T3's shared MCP and tool infrastructure. Tools accept intent-level inputs; neither harness nor client may provide arbitrary raw Hyperliquid payloads.
Shared contract
The TradingToolRegistry provisions the same tool surface to every bound harness. There is no provider-specific tool set and no provider-specific exchange client.
Tools describe what the harness wants to do, not how to encode it. Market, side, size, price, and stop intent are validated and normalized inside T3 before signing.
Neither the harness nor the client may supply arbitrary raw Hyperliquid payloads. Precision, nonces, cloids, signing, and reconciliation stay inside the deterministic execution boundary.
14.1 · Market tools
trading_resolve_market — resolve canonical symbol, asset index, szDecimals, maximum exchange leverage, and market availability. Never hard-code the ETH asset index.trading_get_market_snapshot — mark, mid, oracle, funding, open interest, day volume, and BBO with freshness metadata.trading_get_market_history — bounded candle history for 1m, 3m, 5m, 15m, and 1h; one response is capped at 500 bars.trading_get_order_book — current book and BBO with attached freshness for execution-critical reads.Freshness thresholds govern execution: stale BBO or account state blocks submission rather than silently degrading.
14.2 · Account tools
trading_get_account_state — account value, margin used, withdrawable, and positions for the master-wallet address.trading_get_position — the canonical net ETH position, entry, size, PnL, funding, and margin.trading_get_open_orders — currently open orders keyed by canonical identity.Account state is queried with the user-owned master-wallet address. The Privy-managed execution-wallet address signs actions; it is never used as account identity.
14.3 · Mission tools
trading_get_mission — current mission, authority, strategy, watches, and control flags.trading_publish_momentum_strategy — publish the structured momentum strategy the harness will operate under.trading_publish_momentum_strategy requires an expected current version and, on acceptance:
14.4 · Watch tools
trading_register_watch — register a simple typed predicate: price_cross, candle_close, order_update, position_update, or scheduled_reassessment.trading_schedule_reassessment — schedule a future harness wake-up at a specific time.trading_list_watches — list active, triggered, consumed, cancelled, expired, and superseded watches.trading_cancel_watch — cancel an active watch before it fires.Watches are bound to a strategy version and remain simple, deterministic, typed, and inspectable. Complex interpretation stays a harness responsibility.
14.5 · Execution tools
trading_preview_order — produce a normalized, authority-checked preview with precision, fees, and risk reservation before signing.trading_open_or_increase_position — open or scale into the canonical ETH position with mandatory stop information.trading_place_entry_order — place a resting or marketable entry order.trading_modify_order — modify a mission-owned order.trading_cancel_order — cancel a mission-owned order.trading_replace_protection — place or replace reduce-only stop and take-profit protection for the canonical position.trading_reduce_position — reduce the canonical position via a reduce-only marketable IOC order.trading_close_position — close the canonical position and reconcile the result.Every execution tool runs through the same authority checks, nonce lane, cloid derivation, signing, and reconciliation path. Submission is never treated as execution; canonical Hyperliquid state is the only completion signal.
14.6 · Mission controls available to the harness
trading_pause_mission — block new entries, scale-ins, reversals, and re-entry while preserving valid protection.trading_resume_mission — re-enable the mission after revalidating account, protection, authority, and provider availability.trading_revoke_mission — permanently end autonomous authority; preserve valid protection if a position remains.These controls let the harness wind a mission down within a turn. They follow the same path as the deterministic user controls below.
14.7 · Deterministic user-control API
These typed RPC commands are invoked directly by workspace buttons and do not require a harness turn:
trading_control_pausetrading_control_resumetrading_control_cancel_entriestrading_control_reduce_positiontrading_control_close_positiontrading_control_revoketrading_control_close_and_revokeTradingControlService, authority checks, execution service, and reconciliation path. The deterministic buttons bypass discretionary harness reasoning — never T3's safety boundary. Their availability does not depend on the bound harness being online.
Button behavior, partial-reduction steps, and the bounded emergency-close procedure are detailed on the Risk page. Interactive control placement is shown on the Controls prototype.
Surface boundary
The autonomous tool surface excludes approving or replacing an API wallet, withdrawals, transfers, builder-fee approval, arbitrary transaction signing, arbitrary message signing, and wallet export.
No raw private key reaches the harness. The Privy-managed execution wallet signs ordinary exchange actions under a named Hyperliquid agent; it is never reused after revocation.