---
title: "Run Pine Script® on Your Own Chart: Vela™ + PineTS"
description: "Vela™ is the open-source charting library; Vela-PineTS runs native Pine Script® v5 and v6 on it. Paste the script, get the indicator, with inputs, alerts, strategies and request.security() handled. Three packages, exact API, published licensing."
canonical: https://www.luxalgo.com/vela/pine-script/
---

# Run Pine Script® on Your Own Chart: Vela™ + PineTS

> Vela™ is the open-source charting library; Vela-PineTS runs native Pine Script® v5 and v6 on it. Paste the script, get the indicator, with inputs, alerts, strategies and request.security() handled. Three packages, exact API, published licensing.

Vela™ is our open-source charting library. Vela-PineTS runs native Pine Script® v5 and v6 on it through PineTS, our open-source runtime. The indicators your users already know, in your app, on your infrastructure. Proof: the most-used indicator on TradingView, Smart Money Concepts by LuxAlgo, executes unmodified through PineTS on LuxAlgo charts; the whole LuxAlgo Library does.

## Setup

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

```ts
import { Vela } from '@luxalgo/vela';
import { PineWorkerEngine } from '@luxalgo/vela-pinets';

const chart = new Vela('#chart', { symbol: 'BTCUSDT', timeframe: '60', live: true })
  .registerEngine('pine', new PineWorkerEngine());

chart.addIndicator(`//@version=6
indicator("EMA 20", overlay=true)
plot(ta.ema(close, 20), color=color.orange, linewidth=2)`);
```

## What runs

- Pine Script® v5 and v6 source, unmodified: the bar-by-bar execution model, series indexing, var/varip, na and barstate behave as the language defines them.
- 800+ Pine Script® API functions implemented and tested, tracked on the public coverage tables at https://docs.luxalgo.com/developers/pinets/api-coverage (70 ta functions alone).
- Inputs become the settings dialog; plots land on the right pane; request.security() resolves through the chart’s cached data feed.
- Live, bar by bar, with persistent engine sessions. Strategies emit trade markers; alert() and alertcondition() fire as host events.
- PineWorkerEngine runs scripts in a Web Worker so heavy indicators never block painting.

## Licensing

- The chart, @luxalgo/vela: Apache-2.0, free forever, commercial use included, with a small attribution mark that any paid license removes. https://www.luxalgo.com/vela/pricing/
- The engine, @luxalgo/vela-pinets and pinets: AGPL-3.0, free for anyone who open-sources their stack; closed-source products use a Developer License ($1,199/dev/yr) that also includes Vela™ Pro and commercial rights to the LuxAlgo Library. https://www.luxalgo.com/vela/pricing/

## Links

- Scripting engines: https://docs.luxalgo.com/vela/user/scripting-engines
- PineTS, using within charts: https://docs.luxalgo.com/developers/pinets/using-within-charts
- Vela™ on GitHub: https://github.com/LuxAlgo/Vela · PineTS on GitHub: https://github.com/LuxAlgo/PineTS

"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
