
Fluree, Now in JavaScript
Redefine application efficiency with Fluree’s embeddable JavaScript library. Simple but powerful, Fluree’s JavaScript server gets data to the consumer securely and efficiently.
Get started quickly by running Fluree within a ReactJS app:
npx create-react-app my-app --template @fluree/fluree > cd my-app
New to Fluree? Get started here.

What is Fluree's JavaScript Library?
We have packaged up a version of Fluree’s query server into a JavaScript file, embeddable and deployable alongside your code as a resident query peer within your application. You can essentially run Fluree as an in-memory data layer that sits directly alongside your code and serves up lightning-quick response times.
- Build apps that are less buggy with reliable data
- Leverage real-time data subscriptions with no-fetch code
- Automatically secure front-end apps (data-centric security)
- Increase server availability with more resilient CDN
- Decrease time-to-deploy and save on developer overhead
Build Powerful Full Stack Applications
Secure
Bypass security layers and efficiently deliver trusted data directly to your clients. Fluree’s SmartFunctions protect data permissions as embeddable, co-resident security logic, allowing data to ‘defend itself.’
Efficient
Queries won’t need to leave your app, but can interface point-blank with an in-memory database state. With Fluree-React, you can wrap direct UI components with queries, effectively powering a real-time data-driven front end with no additional overhead.
Scalable
Fluree's edge servers linearly scale to any level of demand. Because query peers are detached from ledger servers, Fluree can act as a CDN (Content Delivery Network) to deliver data with incredible speed.
See How Fluree Fits in Your Application
Connecting an additional query peer server to your Fluree ledger has never been easier, now that it can run as a client-side service worker directly from your JavaScript app. In this pattern, the Fluree Service Worker gives your React app access to your database at in-memory speed, as the ledger will continue to push the latest database state to your embedded query server as new blocks are transacted. Even more, the Fluree React library functions as a state management tool for your React app in the form of a Context Wrapper, provisioning your components with immediate access to query-specific data. If a newly transacted block means a different set of data returned from your registered queries, the relevant component will receive that updated data at in-memory speed, allowing lightning-fast re-renders of your UI as your database state changes.
Regardless of how you are using a NodeJS/Express app—whether it be to power an individual web app or serve as a broader API for other platforms—using the Fluree NodeJS library allows your app to query database state at in-memory speeds without the additional network latency of an external API call. In this pattern, the entire query peer server and its current database state are available through internal API calls to the JavaScript object exported by the Fluree NodeJS Library. Simply import the library at the top of your code, connect it to a running ledger group, and you’re ready to go!
Even without the Fluree JavaScript libraries, it’s still easy to power a React app with Fluree data. Just have your app make HTTP POST requests to Fluree as it would to any external API. Remember that when you run Fluree locally, a query peer server is automatically made available at the default port specified in your config file (e.g. 8080). For more information on this legacy pattern, see our API documentation.
Even without the Fluree JavaScript libraries, it’s still easy to power a NodeJS app with Fluree data. Just have your app make HTTP POST requests to Fluree as it would to any external API. Remember that when you run Fluree locally, a query peer server is automatically made available at the default port specified in your config file (e.g. 8080). For more information on this legacy pattern, see our API documentation.
Modern Tools for Modern Developers
Fluree React
Directly wrap components with queries for functional UI development, powered by React.
GraphQL
Ask for what you need with declarative data fetching via GraphQL.
Node.JS
Build a fully functioning query peer with the Node.JS library and tool.
Fluree Web Worker
Create a local query peer as a service worker within the browser, making trusted data readily available.
Time Travel
Every version of your data available. "Rewind” time to dynamically render screens “as-of” any point in time.
CLI Tool
Terminal-based tool that allows users to verify Fluree ledger files, read consensus state, and more.
Do More With Fluree
All of Fluree’s power, directly at your application’s fingertips.

Immutable Data
Rich, Semantic Graph Query


Data-Centric Permission Access
Designed to get you started
Your complete Fluree resource hub
Access our getting started guide, documentation, videos, & tutorials designed to get you up and running with Fluree in no time.
Get Started with Fluree
Fluree Anywhere
Fluree runs on the JVM (Java 8 or later). The .zip file contains a convenient startup shell script to get you started quickly.
By downloading Fluree, you agree to our license agreement.
Fluree On-Demand
Use Fluree instantly; we’ll handle things under the hood. Enter your email address and we’ll send you an activation link.
Join the Fluree Newsletter
Stay up-to-date on new features, blog posts, and more when you subscribe to the Fluree newsletter.
