Your own candle store, not a vendor feed

The chart that owns its own history

Candles, sixty indicators and thirty-one drawing tools on a chart backed by our own Postgres — every timeframe aggregated in the database, the forming bar streamed to the browser, and alerts evaluated by a worker running the same code your chart runs.

No card. No broker account. Nothing you draw is ever thrown away.

BTC-USD1h · Coinbase+2.90 (2.52%)
117.8021:00100105110115120122.50125.4000:0006:0012:0018:0000:00SMA 7O114.90H118.20L114.30C117.80
Alert fired
crossed 122.50on the bar you can see
60
indicators
validated against external ground truth
31
drawing tools
anchored to price and time
10
chart types
all time-indexed, all first-class
3
stored resolutions
every other timeframe is derived

Three resolutions on disk, every timeframe on screen

We store one-minute, one-hour and daily bars and nothing else, forever. Everything you can ask for is aggregated from those three when you ask for it — which is why an interval nobody else offers costs us a GROUP BY rather than a new feed.

M1~90 days
H1~3 years
D1forever
one SQL aggregate, in Postgres
1m3m5m15m45m1h4h1D1Wand any interval that folds cleanly

A 45-minute chart is a query, not a download. Nothing is precomputed, nothing is cached into a shape that can go stale, and how far back you can scroll is a number we set rather than a number a vendor sells us.

What you get on day one

Four things that share one set of rules, so the chart, the alert and the export are the same series seen three ways.

Charts

Ten time-indexed chart types, thirteen standard timeframes and any custom interval that folds cleanly from what is stored. Multi-chart layouts with symbol, interval, crosshair and time-range linking.

Indicators

Sixty studies plus a candlestick-pattern module, validated against external ground truth rather than against ourselves, with the convention stated wherever platforms genuinely disagree.

Drawing tools

Thirty-one tools — trendlines, channels, the Fibonacci family, the position tool and measure — anchored to price and time, so they survive a timeframe change instead of sliding off it.

Alerts

Price and indicator conditions evaluated by a worker running the same code as the chart, delivered in-app, by email or to a webhook, with a record of every fire and every delivery attempt.

Three decisions you will feel every day

Most of what makes a charting product trustworthy or annoying is decided long before the buttons.

We own the candle store

Bars are ingested into our own partitioned Postgres and served from it. That is what makes a custom interval instant, what makes history depth something we can sell rather than something we resell, and what makes a chart that keeps working when a venue has a bad afternoon.

Alerts run the chart’s own code

The worker that evaluates an alert imports the same indicator module your browser imports. An alert on RSI(14) crossing 70 is therefore evaluated against the number printed on your screen. Two implementations of one indicator is how alerting quietly stops being trustworthy.

Drawings are anchored to the market

A trendline is stored as prices and timestamps, never as pixels or bar indexes. Change the timeframe, scroll two years back, open the layout on a laptop with a different screen — it is still on the same two highs.

Your workspace is yours

One database holds many workspaces, and being sure about that is not a promise — it is how the code is built.

Filtered by construction

Application code cannot issue an unscoped query. The workspace filter is applied by the database client itself, so it does not depend on anyone remembering it in a screener written six months from now.

Enforced by the database

Foreign keys carry the workspace, so one workspace’s drawing cannot even reference another’s layout. The database refuses the row outright rather than trusting the code above it.

Proven every release

An automated test puts two workspaces on one database and tries to read, count and write across the wall from one to the other. It ships with the code and runs before every deploy.

Three plans, and the difference is size

Every plan has every chart type, every indicator and every drawing tool. What changes is how much of it you can have at once and how far back you can scroll — the one axis we control outright, because the history is ours. Every new workspace gets 14 days of writing before a plan has to be chosen; the trial is a window, not a higher tier, so no limit moves when it ends.

Free

Free

One chart, real history, and every drawing tool.

charts in a layout
1
saved layouts
1
bars of history
5,000
Start on Free

Pro

Most desks

$19 / month

A four-chart workspace, deep history, alerts that reach you.

charts in a layout
4
saved layouts
10
bars of history
20,000
Start on Pro

Premium

$49 / month

The deepest history, the whole desk, and the read API.

charts in a layout
4
saved layouts
25
bars of history
40,000
Start on Premium

A lapsed plan makes a workspace read-only. Every layout, drawing, watchlist and alert stays exactly where it is. Every limit, and what each one gates.

Questions people actually ask

Where does the market data come from?

Public crypto venues — Coinbase, Bitstamp, OKX and Kraken — ingested into our own Postgres store and served back from there. We are not a licensed redistributor of equity, futures or FX feeds, and we do not pretend to be: if you want equities you bring your own AlphaVantage key, on a free tier that allows 25 requests a day.

Why does it matter that you store the candles yourself?

Because it decides what we can sell you and how fast the chart is. Every timeframe that is not one of the three we store is aggregated in the database at read time, so a 45-minute chart is a query rather than a download, and how far back you can scroll is a number we control rather than a vendor’s. It is also why history depth is the strongest difference between the plans.

Can an alert fire on a value I cannot see?

No, and that is a design constraint rather than a promise. The background worker that evaluates alerts runs the same indicator code your browser runs, from the same module — so an alert on RSI(14) crossing 70 is evaluated against the number printed on your own chart. Two implementations of one indicator is how alerting quietly stops being trustworthy.

What happens to my layouts if I stop paying?

The workspace becomes read-only. Every layout, drawing, watchlist and alert stays exactly where it is and stays visible — alerts stop firing and nothing is deleted. Throwing away an arrangement somebody spent a year building, over a lapsed card, is never the right answer.

What happens when I reach a plan limit?

The action that would cross it is refused, in a sentence that names the limit and the plan — never a silent failure and never a button that quietly stops working. The check runs on the server inside the same transaction that would write the row, so two browser tabs cannot each be told there is one slot left. Nothing you already have is touched.

How is my workspace kept separate from everyone else’s?

Every row you create belongs to a workspace, and the application cannot issue a query that is not filtered by it — the filter is applied by the database client itself, not by each developer remembering. Foreign keys carry the workspace too, so one workspace’s drawing cannot even reference another’s layout. An automated test sets up two workspaces and tries to read across; it runs on every release.

Is this a broker? Can I trade from the chart?

No. No order ever leaves the building, and there is no broker integration on the roadmap. Chartwright is a charting and alerting product, which also means we take on none of the registration, suitability or best-execution obligations that come with routing an order.

Do you support Pine Script?

No, and we never will. Nothing we ship is named after or compatible with it, and there is no transpiler. Indicators are a typed registry with their own parameter format; custom indicators, when they arrive, will speak that.

Open a chart on your own history

Sign up and you get a workspace: your layouts, your drawings, your watchlists and your alerts, on candles we store rather than rent. Draw one trendline and change the timeframe — that is the whole demo.

Create your workspace