All 514 Wickra streaming indicators, computed live over real Binance market data — 100% in your browser. Zero backend, zero API key.
The same Rust kernel that powers pip install wickra and cargo add wickra is
compiled to WebAssembly (wickra-wasm) and runs entirely client-side. The browser
opens its own multiplexed WebSocket to Binance's public market-data streams and
pipes candles, trades, and order-book depth straight into the indicators — no
server, nothing to host but static files.
Live site: https://live.wickra.org · Built on the Wickra indicator library · docs.wickra.org
- Every indicator, data-driven. All 514 indicators across 24 families are
listed from a generated catalogue (
src/catalog.json) — name, input signature, default parameters, and render mode all derive from Wickra's own golden manifests, so the picker never drifts from the library. - Live, O(1) per tick. Each indicator is an incremental state machine; the candle stream feeds 436 of them directly, trades feed 9, the order book feeds 7.
- Multi-indicator overlay on the price pane plus an oscillator sub-pane, with candlestick-pattern signals drawn as markers.
- Microstructure, the part no other TA-library demo has: a live order-book ladder with top-of-book imbalance, fed straight into Wickra's order-flow indicators.
- Adjustable warmup history (live-only / 200 / 500 / 1000 bars) and a symbol / timeframe picker, with automatic WebSocket reconnect.
npm install
npm run dev # http://localhost:5173
npm run build # static output in dist/
npm run preview # serve the production buildRequires Node.js 22+. There is nothing else to install — wickra-wasm is pulled
from npm and runs in the browser.
This repo is a GitHub template — the smallest real example of building on
wickra-wasm. Click “Use this template” (or fork), then npm install && npm run dev.
The load-and-feed core lives in src/lib/:
| File | Role |
|---|---|
lib/wasm.ts |
lazy single-shot wickra-wasm loader + new-by-name |
lib/binance.ts |
multiplexed Binance WebSocket (+reconnect) + REST warmup |
lib/feed.ts |
feed an indicator by its update() signature |
lib/chart.ts |
lightweight-charts controller (price + sub pane, markers) |
lib/catalog.ts |
typed access to the 514-indicator catalogue |
catalog.json |
committed data (regenerated by private tooling, not in this repo) |
Swap the data source or the renderer and you have your own Wickra-powered app.
Browser WebSocket ──► wickra-wasm indicator.update() ──► lightweight-charts
(Binance public (Rust kernel, O(1)/tick, (candles + lines +
kline/trade/depth) in your tab's RAM) markers + sub-pane)
No backend is involved at any point. Binance's public market-data streams need no API key; warmup history uses the public REST endpoint and falls back to live-only if a deployment hits CORS.
Any static host works — the build output is plain files in dist/. The live site
runs on Cloudflare Pages: build command npm run build, output directory
dist, no environment variables or secrets required.
Dual-licensed under either of
- MIT license (LICENSE-MIT)
- Apache License, Version 2.0 (LICENSE-APACHE)
at your option — matching the Wickra library.
Not affiliated with Binance. Market data is provided by Binance's public API for demonstration only; nothing here is financial advice.
