{"slug": "i-open-sourced-the-financial-charting-library-we-use-in-production", "title": "I open-sourced the financial charting library we use in production", "summary": "A developer open-sourced Exeria Charts, a high-performance financial charting library designed for self-hosted web applications. The library uses a Canvas architecture to render charts directly in applications, avoiding iframe embeds and handling thousands of real-time ticks. The core engine is available on GitHub under AGPL-3.0, along with MIT-licensed data connectors for exchanges like Binance and Coinbase.", "body_md": "If you've ever tried to build a trading dashboard, a crypto portfolio tracker, or any financial app, you probably ran into the \"charting problem\" pretty quickly.\n\nThe standard industry approach goes something like this:\n\n`<iframe>`\n\nfrom a 3rd party provider.I got tired of fighting with iframe embeds and DOM-based SVG charts that couldn't handle thousands of real-time ticks. I needed something native, fast, and entirely under my control.\n\nSo, I built one. And today, I'm fully open-sourcing the core engine.\n\n[Exeria Charts](https://github.com/efixdata/exeria-charts) is a source-available, high-performance financial charting library designed for self-hosted web applications.\n\nInstead of embedding external widgets, Exeria renders directly inside your application using a highly optimized Canvas architecture.\n\nHere’s a quick look at what it can do: [https://exeria.dev](https://exeria.dev)\n\nBuilding a financial chart isn't just about drawing boxes and lines. It’s about performance under pressure.\n\nWhen designing the architecture, we had a few strict requirements:\n\nWe designed the API to be as straightforward as possible. Here is what a vanilla JS implementation looks like:\n\n``` js\nimport { createChart } from \"@efixdata/exeria-chart\";\n// 1. Grab your container\nconst container = document.getElementById(\"chart-root\");\n// 2. Initialize the chart\nconst chart = createChart({ container });\n// 3. Feed it some data\nconst candles = [\n  { stamp: 1715472000000, o: 101.2, h: 103.1, l: 100.9, c: 102.8, v: 3200 },\n  { stamp: 1715475600000, o: 102.8, h: 104.2, l: 102.1, c: 103.9, v: 2950 },\n];\nawait chart.setMainSeriesData(candles, { symbol: \"1h\", milis: 3600000 });\nchart.init();\n```\n\n(If you use React, we also built an open-source wrapper @efixdata/exeria-chart-ui-react that gives you out-of-the-box toolbars and menus).\n\n**Open Sourcing the Core**\n\nThe core charting engine is available on GitHub under the AGPL-3.0 license.\n\nWe've also open-sourced (MIT) a bunch of data connectors so you can plug straight into Binance, Kraken, Coinbase, etc., without writing websocket boilerplate.\n\nI’d love to get feedback from the Dev.to community.\n\nIf you are building fintech apps, crypto trackers, or just like messing around with Canvas performance:\n\nWhat charting libraries are you currently using?\n\nWhat is the biggest pain point you have with displaying real-time data?\n\nCheck out the Live Playground or drop a star on the Repo if you find it useful. Happy to answer any questions about Canvas rendering or handling high-frequency financial data in JS!", "url": "https://wpnews.pro/news/i-open-sourced-the-financial-charting-library-we-use-in-production", "canonical_source": "https://dev.to/katomek/i-open-sourced-the-financial-charting-library-we-use-in-production-1hh9", "published_at": "2026-06-19 06:23:40+00:00", "updated_at": "2026-06-19 07:00:28.736023+00:00", "lang": "en", "topics": ["developer-tools"], "entities": ["Exeria Charts", "GitHub", "Binance", "Kraken", "Coinbase", "AGPL-3.0", "MIT"], "alternates": {"html": "https://wpnews.pro/news/i-open-sourced-the-financial-charting-library-we-use-in-production", "markdown": "https://wpnews.pro/news/i-open-sourced-the-financial-charting-library-we-use-in-production.md", "text": "https://wpnews.pro/news/i-open-sourced-the-financial-charting-library-we-use-in-production.txt", "jsonld": "https://wpnews.pro/news/i-open-sourced-the-financial-charting-library-we-use-in-production.jsonld"}}