trade_execute
Execute real market or limit perpetual futures orders on the configured network, with risk-limit enforcement and reduce-only support. Preview and confirm first; pending outcomes must not be resubmitted.
Instructions
Execute a REAL trade on the server's network (meta.network; PERP_NETWORK, default mainnet). IMPORTANT: Always call trade_preview first and get explicit user confirmation before calling this tool. Refused with RISK_VIOLATION when the order breaches the local risk limits (perp risk set; there is no override over MCP) or when the symbol is quarantined (only reduce-only orders pass). Every order is written to the execution log. Supports market and limit orders. Returns the uniform OrderResult (status, finality, filledSize, execution: slippage / protection price / TIF sent) with the raw venue response under legacy, plus top-level filledSize / requestedSize / partial. Outcomes: an unknown outcome (transport failure after send, or a non-final venue ack) → ok:false, code ORDER_PENDING, executed:false, pending:true and a "do NOT resubmit" remediation — the symbol is quarantined for opening orders until a human clears it; a final rejection / cancel with nothing filled → ORDER_REJECTED, executed:false; a cancel after a partial fill → executed:true, partial:true with the real filledSize. Hyperliquid: native perps only (HIP-3 dexes via the CLI --dex).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tif | No | Limit orders: GTC (default) | IOC | FOK | ALO (post-only); venue aliases GTT / GTX / TOB accepted | |
| side | Yes | Order side | |
| size | Yes | Order size (base currency units) | |
| price | No | Limit price (required for limit orders) | |
| symbol | Yes | Trading symbol (e.g., BTC, ETH, SOL) | |
| exchange | Yes | Exchange: pacifica, hyperliquid, lighter, aster, lighter-rh, ondo, arcus, qfex, risex, txflow (aliases accepted) | |
| orderType | No | Order type | market |
| reduceOnly | No | Reduce-only order (close position only) | |
| slippageBps | No | Market orders: slippage bound in bps (default: settings defaultSlippageBps) |