Skip to content

Wickra TerminalOne core. Ten languages. Two renderers.

A streaming trading terminal on the Wickra core — live charts, order-book, tape and 455 indicators — with a native TUI and a Web front-end as two renderers over the same logic.

Wickra Terminal

Pre-release

Nothing is published yet. The terminal depends on wickra-exchange as a git dependency and cargo publish rejects those, so the first release waits on that crate reaching crates.io. The install commands below are what they will be; until then, build from source.

The config is JSON, not code

A Config names the sources to activate and the panel layout. The terminal folds each source's feed into an O(1) state and renders the panels as view-models.

json
{
  "sources": [{ "Synth": { "seed": 1 } }],
  "layout": {
    "panels": [{ "kind": "Chart", "rect": { "x": 0, "y": 0, "w": 100, "h": 100 } }]
  }
}

Because the config is data, the same terminal crosses the C ABI and WASM unchanged, and the same frame comes back byte-for-byte in every language.

Install

The same terminal core from every language — native Rust, Python, Node.js and WASM, plus a C ABI for C, C++, C#, Go, Java and R.

pip install wickra-terminal

Drive the core, render anywhere

Build a terminal from a config, subscribe a symbol, then pull frames. The command API returns the same bytes in every binding — the Web renderer is just another consumer of these frames.

import json
from wickra_terminal import Terminal

config = json.dumps({
    "sources": [{"Synth": {"seed": 1}}],
    "layout": {"panels": [{"kind": "Chart", "rect": {"x": 0, "y": 0, "w": 100, "h": 100}}]},
})

term = Terminal(config)
term.command(json.dumps({"type": "Subscribe", "source": 0, "symbol": "BTC/USDT"}))
raw = ""
for _ in range(20):
    raw = term.command(json.dumps({"type": "Tick"}))
print(json.loads(raw)["panels"][0])

Built on the Wickra core

Wickra Terminal is part of the Wickra ecosystem. Its panels are driven by wickra-core's indicators over wickra-exchange's typed feeds — the same two libraries wickra-backtest computes on, which is why the terminal shows exactly the numbers a backtest or a live strategy would see. It does not depend on the backtester itself; the shared core is what makes the numbers agree.

Wickra Terminal is a software library, not a trading system, and gives no financial advice — use at your own risk.