Positions
Your open positions are shown per exchange, with real-time PnL updates. The same positions panel appears in three places:
- The Positions dock panel in the Terminal (
/main) - The Active Positions tab on the Automations page (
/trading-terminal) - The Positions page (
/positions) — a phone-first manager (desktop visits redirect to the Terminal)
Positions are viewed one exchange (and one API key) at a time — use the exchange and key selectors to switch.
Position Information
Each position row displays:
| Column | Description |
|---|---|
| Contracts | Trading pair and position side |
| Total | Position size |
| Avg. Price | Average entry price |
| Margin | Margin allocated to the position |
| PnL (PnL%) | Unrealized profit/loss and return percentage |
| Est. Liq. Price | Estimated liquidation price |
| Mark Price | Current mark price |
| TP / SL | Attached take-profit and stop-loss trigger prices |
| Margin Ratio | Margin health indicator |
Expand a row for the full position detail panel.
Real-Time Updates
Positions update automatically via a persistent WebSocket connection to your exchange — no manual refresh needed. The same connection also delivers real-time open order updates.
A connection status indicator shows the current state:
| Status | Meaning |
|---|---|
| Live | Connected and receiving updates |
| Connecting | Establishing the WebSocket connection |
| Reconnecting | Temporarily lost connection, retrying |
| Error | Connection failed (check API key or network) |
| Paused | Tab is in the background, connection paused to save resources |
| Idle | No API key selected |
A "last updated" timestamp is shown so you always know how fresh the data is.
Managing Positions
Closing a Position
Click Close on any position. A confirmation dialog shows the position details and a percentage selector:
- Leave it at 100% for a full close (Yes, Close)
- Pick a smaller percentage for a partial close (Close N%)
All closes execute at market. Partial closes are percentage-based — the backend resolves the actual size against your live position at execution time.
Two more exit actions are available per position:
- Flash Close — immediate 100% market close
- Reverse — closes the position and opens the same size on the opposite side, at market (with confirmation)
Closes are one position at a time — there is no "Close All" button. For automated exits, use close triggers.
Modifying TP/SL
Click the TP/SL action on a position to open the editor:
- Set the take-profit and/or stop-loss trigger price — as an absolute price or a percentage from entry
- Choose whether the TP/SL applies to the entire position or a partial size
- Optionally set a limit execution price instead of market
- Click Confirm to update
The editor also has a Cancel All button that removes the position's existing TP and SL orders.
Adjusting Leverage
Click the Leverage action to change leverage on an open position, up to the pair's maximum.
Changing leverage on an open position may affect your liquidation price and margin requirements. Review changes carefully before confirming.
Margin Modes
Isolated Margin
Margin is allocated per position. If a position is liquidated, only the margin assigned to it is lost.
Cross Margin
All available balance in your account is shared as margin across positions. Higher capital efficiency, but a liquidation can affect your entire balance.
Position Modes
Position modes determine how long and short positions interact on the same symbol:
One-Way Mode
You can only hold one position per symbol. Opening a trade in the opposite direction will reduce or close your existing position.
Hedge Mode
You can hold both long and short positions on the same symbol simultaneously. Each position is managed independently.
You choose the position mode per trade — the open trigger form has a Position Mode selector (One-Way / Hedge), and webhook payloads accept position_mode (defaulting to oneway). Crodl syncs the mode to your exchange account before placing the order.
Hyperliquid supports one-way mode only — hedge-mode requests to Hyperliquid fail with position_mode_unsupported.