Your first chart
Launch the desktop app, find a symbol in the cross-venue picker, and read what the live chart is actually showing you.
The desktop app opens on a live chart, so "your first chart" is mostly learning what is on it and how to change it. Five minutes, no credentials — the default feed is Binance's public kline stream.
What you need
vike-desktop— Windows or Linux — and the GPU Requirements names. It compiles in no local core and no venue bridge, so it charts what a daemon streams it: Observe mode.- A running
vike-tradehubnode to point it at. There is no build that trades on its own. - Internet access to Binance's public endpoints
(
crates/bridges/binance/src/market_feed.rs'sBINANCE_URLS).
1. Launch
vike-desktopThe window opens maximized and frameless with its own caption, titled vike_trader_rust — live.
With no saved workspace, crates/vike-app-core/src/startup.rs's plan opens the default
layout: one BTCUSDT 1m chart on Binance with an SMA overlay and RSI and MACD panes, its feed
ensured before the window is published. A saved workspace wins over that default on every later
start, and the last-used named layout wins over the plain file (restored_workspace).
2. Read what you are looking at
The data path is main.rs's header: feed threads → the core's ingest (lossless bar closes,
conflated forming bars and ticks) → the core-owned bar cache → an arc-swapped CoreSnapshot
→ the GUI's render model, with the GUI a lossy observer of core state. Per (symbol, interval)
the Binance feed runs one thread — a REST kline backfill as the warmup seed, then the public
kline WebSocket — closed bars on the lossless lane, forming updates and last-price ticks on the
conflating one (market_feed.rs's header). So the right-most candle moves between closes; the
ones behind it are final.
The panel (crates/vike-chart/src/chart/mod.rs's header): a right price axis with a price-tag
chip, a time axis with an hourly grid, a dashed last-price line, a crosshair with a time tag,
bottom nav buttons (− + ‹ › ⟳) plus Auto, and a style selector. Charts follow the live edge
and auto-fit y out of the box (vike_chart::interact::FollowLive): appended bars keep the view
pinned right, panning or zooming away disengages, Reset/Auto — or panning back — re-engages.
ChartStyle::ALL holds 20 styles, from candles through Renko, Kagi and Point & Figure to
Footprint.
Everything else sits on one title bar (crates/vike-desktop/src/chart_window.rs's title_bar):
the style menu, the symbol and interval buttons, the sync-group chip, ƒx (indicators),
OF (CVD / Volume Profile / tick size), Cmp (compare overlays), the LIVE badge, and the
clone / minimize / maximize / close controls.
3. Pick a symbol
Click the symbol. The popup opens with a focused Search symbol box, asset-class tabs — All,
then Stocks, Forex, Crypto, Perps, Options, Futures, Indices, Prediction (PICKER_TABS) — and a
venue button cycling All → binance → bybit → okx → hyperliquid → All (PICKER_VENUES). Results
come from vike_catalog::Catalog::search, up to 60 rows: exact symbol first, then symbol
prefix, base prefix, substring; ties broken by quote (USDT, USDC, USD, BTC, others) and then
catalog order. An empty query returns the filtered head, so the list is useful before you type.
Clicking a row sets symbol and venue together and carries the asset class, so a non-spot
symbol routes to its native product feed; a non-Binance chart shows a VENUE: prefix on the
symbol button.
The catalog is fetched once, off the UI thread (main.rs's spawn_catalog_fetcher): every
wired venue's CatalogProvider contributes its universe, a failing provider contributes
nothing, and the credential-gated ones (Alpaca, OANDA, cTrader) yield nothing without keys.
Until it lands the popup shows the quick-picks BTCUSDT, ETHUSDT, SOLUSDT (SYMS),
Binance symbols that reset the venue to Binance.
The picker searches twelve venues; the app charts six
crates/vike-app-core/src/feed_lifecycle.rs's ensure_feed_on doc: the app registers live
clients for binance, bybit, okx, aster, hyperliquid and polymarket, while the picker searches a
twelve-venue catalog. Pick an alpaca, oanda, dukascopy, fxcm or ctrader instrument and the
window lands on a venue with no feed — it paints nothing and warns once. Perps, futures and
options chart only on okx, binance, bybit, aster and hyperliquid; deribit and polymarket rows of
those classes skip the subscribe (venue_routing::venue_bar_instrument).
4. Change the interval
Click the interval: 1s, 1m, 5m, 15m, 1h are venue klines (IVLS); below the
separators, 100t / 500t / 1000t are tick-count bars and 1v / 10v / 100v are
volume-threshold bars, both built client-side from the trade tape (TICK_IVLS, VOLUME_IVLS).
5. Add an indicator
ƒx opens the indicator picker — search, category tabs, favourites, your own installed
studies, and the "On this chart" list with a per-study settings ⚙ (tool_views::fx_picker);
the catalog lists what it offers. OF's CVD and Volume Profile toggles
make the window lazily subscribe the trade feed (WinState::orderflow_on); Cmp adds a
percent-normalized overlay of another symbol, and the first overlay flips the price scale to
Percent because overlays draw only there (WinState::add_compare).
More windows, and saving
File ▸ New chart window cascades a fresh chart (crates/vike-app-core/src/workspace/menu.rs's
menu_bar; the Window menu holds the arrange verbs). The title bar's clone copies the source
window's symbol and interval.
A clone loses its venue
crates/vike-app-core/src/window_spawn.rs's header pins it: a clone keeps symbol and interval
but not venue, so cloning an OKX chart yields a window pointed at Binance carrying an OKX
symbol, subscribed by nobody. Open a new window and pick the symbol again instead.
File ▸ Save Workspace writes the chart layout — symbol, interval, style, geometry, scale,
options, panes, indicators — to <project>/settings/state/workspace.json ($VIKE_WORKSPACE
overrides), restored at startup; File ▸ Save layout as… keeps named layouts under
layouts/<name>.json beside it (crates/vike-app-core/src/workspace/persist.rs). Tool windows
are not saved; the launcher recreates them. View ▸ Timezone and File ▸ Export chart image… are
the other two menu verbs worth knowing (workspace::menu::MenuResult).
Verify
The last candle changes between bar closes and the dashed last-price line tracks it; the right-most close arrives on the interval you picked.
Where to next
- Quickstart: first paper mount — the Trade window beside this chart.
- The chart · Workspaces · Order flow · The desktop app.
Troubleshooting
- The chart is empty after picking a symbol. The venue has no feed, or the product has no bar feed on that venue — the callout in step 3. Pick the same instrument on binance, bybit, okx, aster or hyperliquid.
- The picker shows only three symbols. The catalog has not loaded or every provider failed (no network); the quick-picks are the fallback. Only Deribit's catalog is linked into this binary, by design — every other provider answers over the wire.
- A cloned window never paints. It dropped its venue — the callout above.
- The saved layout did not come back.
restored_workspaceskips the restore underVIKE_SHOT; otherwise confirm<project>/settings/state/workspace.jsonexists — File ▸ Save Workspace is its only writer.
More in Troubleshooting.
Quickstart: first paper mount
A live Binance feed, every venue on the paper exchange, and a first order that cannot reach a real account.
Glossary
The terms the concepts pages define — ceiling, mount, lane, fold, divergence, emulated order, terminal, wiring class, kind, run and their neighbours — one line each, with the symbol behind the word and a link to the page that defines it.