Propose bracket order
propose_bracketAPPROVAL CARD ONLY — NEVER auto-executed: propose one atomic bracket (entry + protective stop + 1–3 OCO take-profits) for in-app approval. Recorded as a proposed setup row (Diary → setups → Send to ticket). Never executes, never moves funds. Needs the trade:propose scope (PAT).
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": {
"exchange": "<exchange>",
"pair": "<pair>",
"side": "<side>",
"entry_type": "<entry_type>",
"amount": "<amount>",
"stop_price": "<stop_price>",
"take_profits": "<take_profits>",
"rationale": "<rationale>"
},
"name": "propose_bracket"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pair | Yes | e.g. BTC/USDT | |
| side | Yes | buy = long, sell = short | |
| amount | Yes | Base amount, e.g. 0.05. Must be > 0. | |
| fee_usd | No | All-in fee in USD. Omit or null if unknown — never 0-substituted. | |
| exchange | Yes | CEX slug, e.g. kucoin | |
| rationale | Yes | One-sentence why-now | |
| entry_type | Yes | market = fill now; limit = resting entry at entry_price | |
| stop_price | Yes | Protective stop. Long: below entry; short: above. Must be > 0. | |
| entry_price | No | Required when entry_type=limit. Must be > 0. | |
| take_profits | Yes | 1–3 take-profit legs {price > 0, weight (or fraction) 0..1 of position}. Weights should sum to ~1. |