Skip to content

Terminal

Terminal is a depth-of-market trading terminal. It is the one tool in Warden that is not a monitor: it connects to an exchange account with credentials you supply, and it places, cancels and closes real orders with real funds.

It trades across five venues on three exchanges:

VenueExchangeMarket
HyperliquidHyperliquidPerpetuals
Binance PerpBinancePerpetual futures
Binance SpotBinanceSpot
Bybit PerpBybitPerpetual futures
Bybit SpotBybitSpot

This is an unfinished proof of concept

Terminal is a test tool, not the product. It is known to be buggy, it is not the focus of development, and it can behave unexpectedly. Binance and Bybit support is newer than Hyperliquid support and correspondingly less proven.

It also trades real money:

  • There is no confirmation step. A single click on the price ladder sends an order immediately. There is no "are you sure", no preview, and no undo.
  • It needs trading credentials — a signer private key on Hyperliquid, an API key and secret with trade permission on Binance and Bybit.
  • Losses are real and irreversible. A bug in a proof-of-concept order entry costs actual money.

If you use it, use an account you are willing to lose, and get familiar with the click behaviour on the smallest order size before doing anything else.

If you came to Warden to monitor the market, you never need to open this tool. Every other tool reads public data only, never asks for credentials, and cannot trade.

Everything below describes the app as it currently behaves. Because this tool is a proof of concept, expect it to change.

Setup

Open the Terminal tab in the main window. Settings are grouped into collapsible sections; open Exchange API keys first.

Exchange API keys

One credential per exchange. Each is stored in the OS credential store (Windows Credential Manager), never in Warden's settings file, and is used only by the terminal window.

Hyperliquid

Hyperliquid signs natively and takes two fields:

FieldWhat it is
Private keyAn API wallet private key — 0x…, 64 hex characters
Account address0x… — your main account or vault address

The app's own guidance: an API wallet private key (Hyperliquid → API). Set the account address to your main account or vault when the key is an agent wallet.

Only the last 4 characters of the key are kept for display. The address is not a secret, so it is pre-filled when you edit the credential; the key never is.

Binance

FieldWhat it is
API keyYour Binance API key
API secretIts secret

The app's own guidance: needs "Enable Futures" and "Enable Spot & Margin Trading". Never enable withdrawals.

Bybit

FieldWhat it is
API keyYour Bybit API key
API secretIts secret

The app's own guidance: unified-account key with "Trade" permission. Never enable withdrawals.

Never enable withdrawal permission

Terminal only needs to trade. An API key with withdrawal rights turns any bug, any leaked settings file, or any compromise of your machine into a drained account rather than a bad trade.

Warden never asks for withdrawal permission and has no feature that uses it.

Test

Binance and Bybit credentials have a Test (⟳) button. This is worth using — it is not a format check. It pushes the key into the market-data worker and runs a real authenticated balance request, so a bad key, a missing trade permission or a skewed system clock surfaces here instead of at the moment you try to trade.

Each exchange id is reported on its own line, because one key can be enabled for futures but not spot.

Removing a key

The button deletes the credential from the OS credential store and clears it out of any worker already holding it, so a removed key cannot keep working until the next reload.

Upgrading from an older build

Earlier versions kept up to five named Hyperliquid accounts with an active selection. That collapsed into the single per-exchange credential above.

On first launch the active account's key and address are migrated across automatically. The other accounts' keys are not deleted — they remain in the OS credential store under their old ids, unreachable from the interface but recoverable by hand. Their ids are written to the app log once, at migration time.

Order

Order size (USD)

Five editable presets for the notional dollar size placed per click. Defaults: $11, $50, $500, $1000, $4000.

Click a preset to select it and edit its value inline. The selected preset is the size every click will use, and presets are also selectable by keyboard — see Keybinds.

WARNING

The active preset applies to every click on the ladder. Changing it changes the size of your next order — check which preset is active before you click.

Trade tape

Tape style

How trade prints are laid out on the tape.

OptionBehaviour
DefaultOne box per trade — the trade line advances only when a new trade prints.
ContinuousEvenly spaced slots, but the whole trade line moves continuously.
OverlapEach trade is placed at its real elapsed time, so trades overlap.

Tape speed

How long a trade line takes to move out of sight. Range 1 to 15 seconds, default 7.

Only shown for the Continuous and Overlap styles — the Default style advances on prints rather than on time, so speed does not apply.

Trading

Choosing a venue

Venue is set per panel, from the venue button in the panel header. You can have several panels open on different venues at once.

Switching venue while keeping the current coin falls back to that venue's USDT pair. Picking a market from the search instead carries its real symbol, so non-USDT pairs like ETH/BTC or SOL/USDC work rather than being silently rewritten to the USDT pair.

Click-to-trade

The price ladder is the order entry. Where you click, and which mouse button you use, determines both the side and the order type:

ActionRow positionResult
Left clickOn the ask side (above the spread)Market buy
Left clickOn the bid side or in the spreadLimit buy at that price
Right clickOn the bid side (below the spread)Market sell
Right clickOn the ask side or in the spreadLimit sell at that price

In short: left click buys, right click sells. Clicking across the spread — buying into asks or selling into bids — crosses the book and executes immediately as a market order. Clicking on your own side rests a limit order.

Market orders are sent as immediate-or-cancel, swept through the opposite side of the book.

Orders fire on click with no confirmation. Repeat clicks within 120ms are ignored, which prevents an accidental double-fire but does nothing to stop a deliberate second click.

A newly placed order is drawn on the ladder immediately as a ghost order, before the exchange has confirmed it, so you can see what you just sent. Errors surface as a toast in the window.

SL / TP

Hold the Place SL / TP at row key (default A) and click a ladder row to set a stop-loss or take-profit at that price.

Existing SL/TP markers have a grip on the side strip you can drag to move them. On release the trigger is replaced at the row under the cursor — the new trigger is placed first, then the old one cancelled. Dragging a trigger across your entry price flips SL ↔ TP automatically, so the trigger condition stays correct.

Trigger entry

Hold the Arm trigger entry at row key (default S) and click a ladder row to arm an entry that fires when price reaches it. Left click arms a buy, right click arms a sell.

Keybinds

Every shortcut below is rebindable: open the Keybinds section, click a key button, then press the new key. Esc cancels. A Reset button restores all defaults.

Bindings are stored as physical key positions, so they survive a keyboard layout change.

Trading

ActionDefault
Cancel all ordersSpace
Close position (market)W
Reverse positionTab
Search tickerF

WARNING

Cancel all, close position and reverse position act immediately on the active credential, with no confirmation.

Order size

ActionDefault
Select preset 1–515

Ladder

ActionDefault
Re-center on best bid/askShift (left)
Larger price step=
Smaller price step-
Adjust price stepR + scroll
Adjust volume-bar capD + scroll
Place SL / TP at rowA + click
Arm trigger entry at rowS + click / right-click

Chart drawing shortcuts — ray, line, magnet — are not set here. They live in the Home tab; see Charts & drawing.

Appearance

The Appearance section restyles the ladder. A Reset button restores every value on this page to its default.

Layout

SettingWhat it doesRangeDefault
Text sizePrice-ladder row font size9–18px12px
Row heightPrice-ladder row height8–20px12px
Big-volume thresholdDepth-bar fill % that switches to the "Volume big" color10–95%, 5 steps60%

A depth bar at 100% fill always uses the Volume full color regardless of this threshold.

Colors

Background is a single color for the order-book background (default #181818). Everything else is grouped, and each entry has both a color and an opacity:

GroupEntries
Order bookBid, Ask, Best bid, Best ask, Price
Volume barsVolume bar, Volume big, Volume full
Position & ordersPlaced order, Stop-loss, Take-profit, Position +PnL, Position −PnL
Trade tapeTape buy, Tape sell
GeneralText, Row hover

The three volume-bar colors form a progression: a depth bar uses Volume bar below the big-volume threshold, Volume big above it, and Volume full when it fills the row completely. Setting them to three distinct colors makes relative depth readable at a glance.

Position +PnL and Position −PnL fill the position band depending on whether the position is currently in profit or loss.

Per-ticker view settings

Price step and volume-bar cap are saved per coin, not globally — adjusting the ladder for BTC does not change how ETH is displayed. These are set from the window with the ladder keybinds above, not from the settings tab.

  • Getting started — the rest of Warden, none of which requires credentials or can place trades

Warden is a monitoring tool. Nothing here is financial advice.