Confirmation dialogs
Every destructive Auto Trade action — close a position, cancel a pending entry, switch to Full-Auto, detach from auto management — routes through an in-app confirm dialog. This page lists every confirmation point and explains the busy / success / error states.
Every destructive action in Auto Trade routes through a small in-app dialog that asks "are you sure?" before the request is sent. The dialog is intentionally consistent across the app — same shape, same button colours, same spinner — so once you've used it once you recognise the affordance everywhere. The pattern protects against mis-clicks on a money-handling surface and gives a clean busy state during the in-flight network call so you know whether the action committed.
Where the dialog appears
| Action | What the dialog asks |
|---|---|
| Close 100% on a running position | "Close ETHUSDT long at market? Realised P&L ≈ $42.10." |
| Close 50% on a running position | Same with the partial-close estimate. |
| Detach from bot management | "Detach ETHUSDT from Auto Trade? SL trail will stop; you'll manage manually." |
| Cancel a pending entry | "Cancel ETHUSDT limit entry? The pending limit order will be removed." |
| Switch to Full-Auto | "Enable Full-Auto? Bot will fire signals immediately without approval." (also requires checkbox) |
| Disable LIVE | "Pause LIVE? Bot stops opening new positions; existing positions are unaffected." |
| Reset Config | "Reset all settings to factory defaults? Your saved config will be replaced." |
| Unsubscribe a signal source | "Unsubscribe from USDⓈ-M Signals? Current open positions stay open." |
Anatomy of the dialog
| Region | Notes |
|---|---|
| Title | One-line action summary. |
| Message | The intent in plain English (1-2 sentences). |
| Detail | Optional bullet list with the side-effects — what gets closed, what stays open, what happens to working orders. |
| Cancel button (ghost) | Dismisses without action. |
| Confirm button (danger red for destructive, primary amber for non-destructive) | Sends the request. |
| Busy state | The Confirm button shows a spinner during the network call; both buttons disable. |
Why a custom dialog, not the browser's native popup
We never use the browser's native confirm popup on a trading surface for three reasons:
- It freezes the entire page. Every chart paint, every WebSocket handler, every running calculation pauses until you click OK. On a money-risk surface the chart cannot freeze just because you wanted to close one position.
- It cannot show busy state. Once you click OK, you have no idea whether the order made it to Binance or not — there is no spinner. The custom dialog keeps the spinner visible until the exchange acknowledges.
- It cannot be themed. A bright-white OS popup on a dark trading dashboard reads as broken and amateurish.
The custom dialog is themed, non-blocking, and exposes the spinner so you know exactly when the action committed.
Reading the busy / success / error states
- Spinner spinning — request is in flight. Binance has not confirmed yet. Do not refresh, do not re-click.
- Spinner stops, dialog closes — Binance acknowledged. The action succeeded. A green toast appears for the result.
- Dialog stays open + red error text underneath — Binance rejected the request. Read the error message, fix the root cause, then retry. Common rejections: insufficient margin, invalid order parameters, position mode mismatch.
- Dialog closes + red toast in the corner — the request timed out or your network dropped. The action may or may not have been received by Binance. Wait a few seconds for the position panel to refresh, then check Binance directly if the result is still ambiguous.
Two-stage confirmations
A small subset of actions require a two-stage confirm — the standard dialog PLUS a checkbox you must tick before the Confirm button enables:
| Action | Why two-stage |
|---|---|
| Switch to Full-Auto | Material change in engine behaviour — orders fire without your approval. The checkbox forces an active opt-in so you can't bump the toggle by accident. |
| Cancel all working orders | Easy to mis-click on a multi-cancel control. The checkbox stops accidental account-wide nukes. |
| Reset Trade Config to defaults | Replaces your saved configuration. The checkbox confirms you understand the current config will be lost. |
Common pitfalls
- Re-confirming during a slow Binance ack. The Confirm button disables while the spinner is on so you can't double-fire from the same dialog. But if the dialog closes (success / error / timeout) and you immediately re-open and re-confirm, you may double-act. Wait for the Running Positions list to refresh before retrying.
- Reading "busy" as success. Busy is still in-flight. Wait for either dialog-close + green toast, or dialog-close + red toast — those are the only definitive states.
- Closing the browser tab during busy. The request continues on Binance's side regardless. Refresh the app to see what actually happened.
- Approving a Full-Auto switch on autopilot. The checkbox is there for a reason — read the warning text. Full-Auto means orders fire without per-signal approval. Re-read the risk implications on Risks & disclaimer.
What's next
- Toasts & status feedback — what the post-confirm toast tells you.
- Running Positions — where most Close / Detach buttons live.
- Risks & disclaimer — the full risk surface around Full-Auto.