place_stock_order
Execute a confirmed stock order on Firstrade using the token from a prior preview to ensure safe, intentional trades.
Instructions
Place a real stock order (dry_run=False). Requires FT_ALLOW_LIVE_ORDERS=true in .env AND a confirm_token from preview_stock_order called with these exact same arguments — the server rejects the order otherwise, it does not just rely on the caller having "meant to" preview first.
Args: symbol: Ticker symbol (e.g. 'NVDA'). order_type: buy | sell | sell_short | buy_to_cover quantity: Number of shares. confirm_token: Token returned by preview_stock_order for this exact order. price_type: limit | market | stop | stop_limit | trailing_stop_dollar | trailing_stop_percent duration: day | day_ext | overnight | gt90 (gt90 ≈ GTC, 90-day) price: Limit price (required for limit/stop_limit orders). stop_price: Stop trigger price (required for stop/stop_limit orders).
Returns JSON with order confirmation. This sends a real order to Firstrade.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"symbol": "<symbol>",
"order_type": "<order_type>",
"quantity": "<quantity>",
"confirm_token": "<confirm_token>"
},
"name": "place_stock_order"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| price | No | ||
| symbol | Yes | ||
| duration | No | gt90 | |
| quantity | Yes | ||
| order_type | Yes | ||
| price_type | No | limit | |
| stop_price | No | ||
| confirm_token | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |