---
title: "Vela™: The Open-Source Charting Library"
description: "Vela™ is the modern charting library for the agentic era: a native canvas renderer, a headless core, a batteries-included workspace, and a plugin SDK. Apache-2.0, by LuxAlgo."
canonical: https://www.luxalgo.com/vela/
---

# Vela™: The Open-Source Charting Library

> Vela™ is the modern charting library for the agentic era: a native canvas renderer, a headless core, a batteries-included workspace, and a plugin SDK. Apache-2.0, by LuxAlgo.

## Charting for the open internet.

Production-grade charting for any app. Simple enough to ship in an afternoon, fast enough for a major exchange, and complete enough to replace an enterprise charting platform.

```bash
npm install @luxalgo/vela
```

## Headless core. Batteries included.

Import exactly as much chart as you want: the bare data-and-render core, the full multi-chart workspace, or any layer between. Every surface below is public API.

- `@luxalgo/vela`, the headless chart: Data model, scripting-engine ports, drawings, providers, and the native canvas renderer. No shell, no chrome: your UI, its charts.
- `@luxalgo/vela/workspace`, the full chart app: One chart or a synced grid under a shared topbar, status line, object tree, bottom bar, keyboard-first UX, and one persisted state document.
- `@luxalgo/vela/ui`, the component kit: Design tokens, overlay chrome, form primitives, and the KeymapManager: the same kit the shell is built on.
- `@luxalgo/vela/plugin`, the extension SDK: Register chart types, renderer layers, and native indicators. Registered types appear in the style dropdown automatically.
- `@luxalgo/vela/providers/*`, data included: Binance, Coinbase, and Hyperliquid providers out of the box. Or pass bars directly and stay fully offline.

## One library, three altitudes.

The same import serves a weekend project, an exchange front end, and the trading desk that used to need an enterprise platform.

- Ship it in an afternoon: npm install, one div, and you have a live chart with indicators and drawing tools. If you can paste a snippet, you can ship a chart that looks like this page.
- Run it at exchange scale: A native WebGL2 renderer built for dense, live markets: deep history, streaming updates, and multi-chart layouts that stay smooth under real load.
- Stand in for the enterprise platform: The whole terminal as a library: the drawing suite, the keyboard workflow, the plugin SDK. Vela™ Pro adds footprints, TPO, and the Pine Script® runtime on top.

## Quickstart

1. One tag, the whole terminal: Point the workspace at a container and ship: shared topbar, drawing toolbar, status line, object tree, bottom bar, keyboard. One chart or a synced grid, restoring from one persisted state document.
2. Or go headless: Prefer full control? The core alone: data model, engines, drawings, providers, and the native renderer, with none of the chrome. Pass bars directly and stay fully offline, or register any provider.
3. Bring your engine: Vela ships no scripting engine: install the addon for the language you want, or write your own against the public ScriptingEngine port. Pine Script® lives in @luxalgo/vela-pinets; hosts execute-and-inject with structured errors and read a running script’s state through worker-safe snapshots.
4. Extend the canvas: New price styles, new renderer layers, native indicators: the SDK is the one Vela is built on. A registered chart type appears in the style dropdown automatically, and its data engine pushes to its layer with zero extra wiring.

## Built like a terminal. Shipped like a library.

Everything a professional charting surface needs, behind one import.

- Native canvas renderer: Drawn from scratch, GPU-first with a canvas2d fallback and a per-cell backend budget. Built to move deep history without dropping a frame.
- Multi-chart workspace: A grid of named cells under one topbar, with sync groups for crosshair, style, and drawings: followers mirror the leader, edits and removals included.
- One persisted document: Market, style, timezone, renderer config, drawings, and indicators restore from a single state document. localStorage by default; store it anywhere.
- Keyboard-first: A letter opens symbol search, a digit starts timeframe entry, ? shows every shortcut. Bindings are declarative, and plugins register theirs the same way.
- Agent-safe scripting: Hosts execute-and-inject with structured errors and no dead legend rows, and read a running script’s state, return value included, as read-only snapshots.
- Live streaming: Persistent engine sessions with stable identities: every tick patches the exact series in place. No teardown, no flicker.
- Providers included: Binance, Coinbase, and Hyperliquid out of the box. Or hand the chart an array of bars and render with no provider, no keys, no network.
- Drawings & object tree: A full interactive toolbar with undo/redo, plus an object tree that names and manages everything living on the chart.
- A real component kit: The shell is built on vela/ui: design tokens, overlay chrome, and form primitives. Extensions look native because they use the same kit.

Drawing tools include Trend Line, Ray, Parallel Channel, Fib Retracement, Fib Extension, Pitchfork, Rectangle, Ellipse, Triangle, Head & Shoulders, XABCD Pattern, Elliott Wave, Long Position, Short Position, Price Range, Date Range, Text, Callout, Arrow, Brush, Highlighter, and Gann Box.

## Type. Don’t click.

The workspace never makes you reach for the mouse. Bindings are declarative, and plugins register theirs the same way.

- Symbol search: Type a letter anywhere and the symbol search is already open, already filtered.
- Timeframe entry: Type a digit to start an interval: 15, 4h, D, 3M. Enter applies it to the active cell.
- Screenshot: A pixel-true capture of the active chart, straight to the clipboard.
- Everything else: The shortcuts panel lists every binding, including the ones your plugins registered.

## Own your charts.

Apache-2.0. Free, forever. A native renderer, a workspace that ships whole, and a plugin SDK that keeps every layer yours: in the open, commercial use included.

Ships with a small LuxAlgo attribution mark; attribution-free and commercial terms are self-serve on the pricing page (https://www.luxalgo.com/vela/pricing/). The Pine Script® addon is licensed separately (AGPL-3.0).

## Links

- Docs: https://docs.luxalgo.com/vela
- GitHub: https://github.com/LuxAlgo/Vela
- npm: https://www.npmjs.com/package/@luxalgo/vela
- Vela™ Pro: https://www.luxalgo.com/vela/pro/
- Pine Script® on Vela™: https://www.luxalgo.com/vela/pine-script/
- How Vela compares: https://www.luxalgo.com/vela/compare/

Vela™ is a trademark of LuxAlgo Global, LLC.

"TradingView" and "Pine Script" are trademarks or registered trademarks
of TradingView, Inc. LuxAlgo is not affiliated with, sponsored by, or
endorsed by TradingView, Inc.

Sitemap: https://www.luxalgo.com/sitemap.xml · Machine-readable index: https://www.luxalgo.com/llms.txt
