Skip to content
Skip to content

Trading Dashboard

Monitor every open position, watch your PnL in real time, and manage DCA strategies — all from a single unified view.

What is this?

The Trading Dashboard (/studio/trading) is your cross-bot command center for live trading activity. It aggregates positions and orders from every bot connected to your account and presents them in one place. You can check your total equity, see realized gains and losses, and manage dollar-cost averaging without opening each bot individually.

Prerequisites

Before you can see data in the Trading Dashboard, you need:

  • At least one bot created in Studio (see Your First Bot)
  • A primary wallet set for the chain you want to trade on (see Wallet Management)
  • At least one completed trade — the dashboard shows live data only; there is no synthetic demo mode

How to reach the Trading Dashboard

  1. Sign in to your Balchemy account at app.balchemy.ai.
  2. Click Trading in the left sidebar under the Studio section.
  3. The dashboard loads your positions, PnL, and open orders automatically.

How trading works

When a bot decides to trade, the request flows through a strict pipeline before any on-chain action happens:

  1. Intent — Your bot (or you via chat) sends a trade request.
  2. Pre-trade report — The system runs security checks (RugCheck for Solana, GoPlus/Honeypot for EVM) and fetches a live quote from the aggregator.
  3. Policy check — Risk limits (max drawdown, daily loss limit, position size) are evaluated. If any limit would be breached, the trade is rejected before it reaches the chain.
  4. Execution — The trading engine submits the signed transaction to the network.
  5. Verification — The callback confirms the on-chain result and updates the order status.
  6. Notification — If you have trading notifications enabled, you receive an alert.

Tip: You can review the full execution timeline for any order by clicking a row in the Trading Dashboard and opening the Order Details drawer.


Dashboard sections

KPI strip

The top row shows four live metrics:

MetricWhat it means
Total EquitySum of all position values at current market price
24h PnLRealized profit/loss over the last 24 hours
Active PositionsNumber of open token positions across all bots
Open OrdersNumber of orders in pending, queued, or submitted state

PnL is shown in green when positive and red when negative. Both the value and the sign (+/−) update automatically via the real-time trading socket — you do not need to refresh the page.

PnL Overview chart

Below the KPI strip, a line chart plots cumulative realized PnL over time. Data points are derived from the last 30 trade timestamps. If fewer than two trades have completed, the chart is hidden until there is enough history to draw a meaningful line.

Positions table

The Positions table lists every open token position aggregated across all bots:

  • Token — Symbol of the held token
  • Chain — Solana or EVM (Base)
  • Amount — Net token quantity held
  • Entry Price — Volume-weighted average entry price
  • Current Price — Live price from the trading engine
  • PnL % — Unrealized percentage gain/loss since entry
  • PnL $ — Unrealized dollar gain/loss since entry

Warning: Current prices are sourced from the trading engine cache and may lag by up to 30 seconds during high network load. Do not use these values for time-sensitive decisions without cross-referencing a live exchange feed.

Open Orders table

Pending and in-flight orders are shown here in real time. Each row includes the order ID (truncated for readability — hover to see the full ID), trading pair, chain, order type, status badge, and creation timestamp.

Order status values:

StatusMeaning
PendingReceived by the system, awaiting policy check
QueuedPassed policy checks, waiting in execution queue
SubmittedSent to the network, awaiting on-chain confirmation
FilledFully executed on-chain
Partially FilledSome but not all of the order quantity was filled
CancelledCancelled before execution
FailedExecution attempted but rejected by the chain
ExpiredLimit order reached its TTL without being matched

DCA Strategy section

If you have an active Dollar-Cost Averaging strategy configured, a dedicated section appears below the orders table. It shows:

  • Status — Active (running) or Paused
  • Total Orders — How many DCA buys have executed in this strategy
  • Total Volume — Cumulative USD value of all DCA purchases
  • Next Execution — Scheduled timestamp for the next buy

You can pause or resume DCA directly from this section without navigating away. For the full DCA management view with per-strategy breakdown and the investment chart, visit /studio/trading/dca.


Step-by-step: reviewing an order in detail

  1. From the Trading Dashboard, locate the order in the Open Orders or Positions table.
  2. Click any row — a detail drawer slides in from the right.
  3. In the drawer, review the Execution Timeline: each step (Previewed → Queued → Submitted → Filled) shows a timestamp and status icon.
  4. If the order failed, the timeline shows the error reason at the Failed step.
  5. Scroll down to Raw Data and click to expand a JSON view of the full order record. Use the copy button to copy it to your clipboard.
  6. Close the drawer with the X button or by pressing Escape.

Trading settings

Global trading configuration lives at /studio/trading/settings (Settings in the sidebar under Trading). From there you can adjust:

  • Risk limits — Max drawdown, max position size, risk per trade, daily loss limit
  • Trade defaults — Default order type (market / limit / auto), default slippage tolerance
  • Pool preferences — Preferred DEXes (Raydium, Orca, Jupiter, Meteora), minimum pool liquidity, max pool slippage
  • Token watchlist — Favorite tokens your bot monitors with priority
  • Token blacklist — Tokens the AI will never trade regardless of signals
  • Trading notifications — Toggle per-event alerts (trade executed, order filled, stop-loss triggered, etc.)

See Trading Settings for a full walkthrough.


Real-time updates

The dashboard connects to the trading WebSocket on page load. You will see order statuses change live as the engine processes them — no manual refresh required. If the socket disconnects, the page falls back to polling and shows a subtle reconnecting indicator.


Tips and warnings

Tip: Sort any column in the Positions or Orders table by clicking the column header. Click again to reverse direction. A third click removes the sort and returns to insertion order.

Tip: Use the Trading Dashboard as a quick sanity check before adjusting a bot's strategy. If you see an unexpectedly large position, navigate to that bot's cockpit to investigate the strategy parameters.

Warning: Cancelling an order from the dashboard is not yet supported for Solana orders that have already been submitted to the network. Once a Solana transaction is broadcast, it cannot be recalled.

Warning: PnL figures shown here reflect the trading engine's position tracker, which is updated after each verified on-chain trade. They are not guaranteed to match the exact value a DEX would show for the same position at a given moment due to price feed differences.


Common issues

Dashboard shows "No active trading activity" but I have bots running. Your bots may not have placed any trades yet. Open a bot's chat at /studio/chat/[botId] and ask it to check the current market or place a test trade. Trades appear in the dashboard within a few seconds of on-chain confirmation.

Positions table shows a position I already sold. The trading engine position tracker uses net amounts. A position closes when net amount reaches zero across all buys and sells. If you see a stale entry, it means the closing trade has not yet been confirmed or the aggregation is still processing. Wait 60 seconds and refresh.

Open Orders count does not match what I see in Trade History. Trade History (/studio/trades) shows all orders across all statuses and all time. The Trading Dashboard's Open Orders section shows only currently active orders (pending, queued, submitted). The counts will differ.

PnL chart is empty. The chart requires at least two completed trades with different timestamps to draw a line. After your first two trades are filled, the chart will appear automatically.

Real-time updates stopped working. Check your network connection. If you are on a corporate VPN or firewall that blocks WebSocket connections, the dashboard will fall back to polling at 30-second intervals. You will still see updated data, but changes will arrive less frequently.


  • Trade History — Full filterable history of every order across all statuses
  • Portfolio — Per-asset allocation breakdown and risk concentration charts
  • Wallet Management — Connect and manage Solana and EVM wallets
  • Solana Trading — How Solana trades are executed via Jupiter
  • EVM Trading — How Base/EVM trades are executed via 0x
  • DCA Management — Dollar-cost averaging strategies in detail
Connection lost. Retrying...